본문 바로가기

프로그래머스(Java)/Level 0

[프로그래머스] 저주의 숫자 3

728x90

코드 힌트

  1. 숫자 증가 및 조건 확인:
    • 특정 변수를 1씩 증가시키며, '3'이 포함되거나 3의 배수가 되는 순간을 찾아냅니다.
    • 이 과정은 주어진 매개변수 n이 0이 될 때까지 반복됩니다. 변수가 증가하는 동안, n은 원하는 횟수만큼 감소하게 됩니다.
  2. '3' 포함 여부 및 3의 배수 확인:
    • 숫자를 문자열로 변환한 후, '3'이 포함되어 있는지를 검사합니다. 이 조건을 만족하는지 확인하여 적절히 처리합니다.
    • 또한, 숫자가 3의 배수인지를 확인하는 조건을 사용합니다. 이 두 조건 중 하나라도 만족하면 반복문이 건너뛰어집니다.
  3. 매개변수 감소:
    • 위의 조건을 만족하지 않을 때만 n이 1씩 감소됩니다. 이로 인해 특정 조건을 만족하는 숫자들을 건너뛰게 됩니다.
    • 결과적으로 n이 0이 될 때까지 반복하여, 최종 결과를 반환합니다.

정답은 더보기 클릭

더보기
class Solution {
    public int solution(int n) {
        int result = 0;  // 결과값을 저장할 변수 초기화
        
        while (n > 0) {  // n이 0이 될 때까지 반복
            result++;  // result를 1 증가
            
            // result에 숫자 '3'이 포함되거나, result가 3의 배수라면
            if ((""+result).contains("3") || result % 3 == 0)
                continue;  // 다음 반복으로 넘어가서 n을 감소시키지 않음
            
            n--;  // 위의 조건에 걸리지 않은 경우에만 n을 1 감소
        }
        
        return result;  // n이 0이 될 때까지의 최종 result 값 반환
    }
}
728x90