본문 바로가기

코딩 테스트

[코딩테스트] 백준 18108번: 불기 연도 -> 서기 연도

# 문제

 

# 코드

  • Scanner, BufferedReader + InputStreamReader 사용

▼ Scanner 사용

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int BE = sc.nextInt();
    int CE = BE - 543;

    System.out.println(CE);
  }
}

 

▼ BufferedReader + InputStreamReader 사용

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    int BE = Integer.parseInt(br.readLine());
    int CE = BE - 543;

    System.out.println(CE);
  }
}

 

# 입/출력 결과

▼ Scanner 사용

 

▼ BufferedReader + InputStreamReader 사용

 

# 과정

  • 첫 번째 문제는 Scanner 내장 클래스 사용.
    • 처음에 Scanner import하는데 뒤에 ; 세미콜론을 안 붙였다. 그래서 컴파일러 에러가 떴었음.
    • 다시 세미콜론 붙인 다음 검사 결과 통과.
  • 두 번째 문제는 BufferedReader + InputStreamReader 사용.
    • 입력 받는 소스코드에서 오타 때문에 컴파일 에러가 떴다.
    • 오타 수정후 다시 검사를 하니 통과함.
  • 불기 연도를 서기 연도로 변경하려면 543년을 빼면 된다. 예제 입력에 2541 입력하면 출력으로 1998이 되어야한다고 하는 걸로 봐서는 그렇게 추측이 되었고, 혹시 몰라서 인터넷에 검색하니 543년 또는 544년 차이가 난다고 했다.

 

# 느낀 점

  • 아직까지 어려운 점은 없었다.