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#

'Algorithm' 카테고리의 다른 글

이진 탐색  (0) 2023.08.12
알고리즘 문법 정리  (0) 2023.02.13
2차원으로 만들기.java  (0) 2023.02.12
가장 큰 수 찾기  (0) 2023.01.24
공간 복잡도  (0) 2022.08.05