Algorithm
저주의 숫자 3
challnum
2023. 2. 22. 23:30
틀린 코드
class Solution {
public int solution(int n) {
int answer = n;
for(int i = 1; i <= n; i++){
if((i % 3 == 0) || String.valueOf(i).contains("3")){
answer++;
System.out.println(i);
}
}
return answer;
}
}
입력값 〉 10
기댓값 〉 16
실행 결과 〉 실행한 결괏값 13이 기댓값 16과 다릅니다.
출력 〉 3
6
9
- 출력에서 생각도 못한 것이 있었다. 3이 들어간 경우 반복문을 돌리는 범위도 1씩 증가해야했던건데 이 부분을 생각 못하고 구간을 정해 둔 탓에 발생한 오류 였다.
맞은 코드
class Solution {
public int solution(int n) {
int answer = n;
for(int i = 1; i <= answer; i++){
if((i % 3 == 0) || String.valueOf(i).contains("3")){
answer++;
}
}
return answer;
}
}
https://school.programmers.co.kr/learn/courses/30/lessons/120871#