프로그래머스 - 저주의 숫자 3
풀이
- 1부터 n까지의 숫자를 순회
- 만약 숫자가 3의 배수이거나, 3을 포함하고 있으면 그렇지 않을 때까지 1을 더해줌
코드
public class NumberThree {
public int solution(int n) {
int result = 0;
for (int i = 1; i <= n; i++) {
result += 1;
while (!isValid(result)) result += 1;
}
return result;
}
private boolean isValid(int num) {
return num % 3 != 0 && !String.valueOf(num).contains("3");
}
public static void main(String[] args) {
NumberThree numberThree = new NumberThree();
System.out.println(numberThree.solution(10));
System.out.println(numberThree.solution(15));
System.out.println(numberThree.solution(40));
}
}