본문 바로가기
알고리즘 문제/Java

[goormlevel/Java] 어려운 문제

by 현장 2026. 6. 11.

-Code

import java.io.*;

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

        int n = Integer.parseInt(br.readLine());
        System.out.println(solution(n));
    }

    private static int solution(int n) {
        // 자릿수 더하는게 값이 1, 1, 2, 6, 6, 3, 9, 9...
        // 이렇게 6이후는 9로 반복
        if (n <= 1) return 1;
        if (n == 2) return 2;
        if (n <= 4) return 6;
        if (n == 5) return 3;
        return 9;
    }
}

처음에는 팩토리얼을 구해서 직접 10 미만일 때까지 구했으나 이러면 long형이어도 문제가 생겼습니다. 그래서 힌트로 얻은 게 이 문자들의 합이 결국 정해져 있어서 해당 규칙을 찾아보라는 것이었습니다.

계산을 해보니 0, 1 ▶️ 1 / 2 ▶️ 2 / 3, 4 ▶️ 6 / 5 ▶️ 3 / 6이상 ▶️ 9로 귀결됨을 알고 해결했습니다.

'알고리즘 문제 > Java' 카테고리의 다른 글

[goormlevel/Java] 장마  (0) 2026.06.13
[goormlevel/Java] RGB 주차장  (0) 2026.06.12
[goormlevel/Java] 블록 게임  (0) 2026.06.10
[goormlevel/Java] [KOI 2017] 딱지놀이  (0) 2026.06.09
[goormlevel/Java] 계수기 만들기  (0) 2026.06.08