
-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 |