코딩테스트/백준

[백준/level 1] No 18108. 1998년생인 내가 태국에서는 2541년생?! (JAVA)

EGG._.Developer 2025. 1. 26. 17:19

이번 문제는 제 출생연도랑 같은 문제가 나와있어서 내심 놀랐습니다 

<문제>

불기연도 서기연도를 아시는 분들은 544년 차이가 나는 것으로 착각하실 수 있지만

실제로 일부 국가는 543년의 차이가 나기도 한다는 글이 있다. 

문제에서 제시하는 차이도 543년이기 때문에 543년의 차이가 난다는 것을 기억하고 문제 계산을 하면 된다.

 

<정답>

//Scanner을 쓰기 위한 import. 
//import java.util.*;로도 사용 가능. 
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        
        //텍스트를 입력받기 위해 Scanner를 사용
        Scanner scanYear = new Scanner(System.in);

        String bdaString = scanYear.nextLine();
        int y = Integer.parseInt(bdaString);

        //서기연도는 불기연도 - 543(문제 참조)
        System.out.println(y - 543);

        scanYear.close();
    }
}

또 다른 방법으로 푸는 걸 확인하고 싶다면 클릭 🔻

더보기

Scanner는 키보드 입력을 받는 대표적인 Java의 패키지다.

 

java.util이라는 패키지에 내장되어 있으며, ( * )의 경우, 모든 패키지를 사용한다는 뜻으로 해석되기 때문에 

import java.util.Scanner;

import java.util.*;

 둘 다 사용 가능한 것. 

키보드에서 입력을 받아 읽어오는 방법은 다양한데, 이번에는 String으로 받아 int로 변환을 한 번 해보았다.

내가 정답으로 제출한대로 써도 정답이지만, 이렇게 써도 정답이 될 수 있다.

        int y = scanYear.nextInt();
        
        System.out.println(y - 543);

 

코딩은 참 하면 할수록 내가 의도한대로 값이 나오는 게 정말 즐거운데 

한 개의 길만이 정답이 아니라는 것도 정말 즐거운 것 같다