저주의 숫자 3
3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다.
10진법 | 3x 마을에서 쓰는 숫자 | 10진법 | 3x 마을에서 쓰는 숫자 |
---|---|---|---|
1 | 1 | 6 | 8 |
2 | 2 | 7 | 10 |
3 | 4 | 8 | 11 |
4 | 5 | 9 | 14 |
5 | 7 | 10 | 16 |
정수 n
이 매개변수로 주어질 때, n
을 3x 마을에서 사용하는 숫자로 바꿔 return하도록 solution 함수를 완성해주세요.
https://school.programmers.co.kr/learn/courses/30/lessons/120871
public class Main {
public static void main(String[] args) {
int n = 40;
var reuslt = solution(n);
System.out.println(reuslt);
}
public static int solution(int n) {
int result = 0;
for (int i = 1; i <= n; i++) {
result = next(result);
}
return result;
}
public static int next(int n) {
outter:
while (true) {
n++;
if (n % 3 == 0) {
continue;
}
int temp = n;
do {
if (temp %10 == 3) {
continue outter;
}
temp = temp / 10;
}while (temp > 0);
break;
}
return n;
}
}