본문 바로가기
스터디(programmers)

Java] 프로그래머스 lv.1, 저주의 숫자 3

by 김마리님 2023. 3. 20.

https://school.programmers.co.kr/learn/courses/30/lessons/120871

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이

더보기

문제는 간단하다.

못 센 수만큼 뒤에 더해버리면 됨.

3을 셀거야.

1

2

3--> 에서 걸리므로 이 때 3+1 해서

4

 

7을 셀거야

1

2

3 --> 에서 걸리므로 7+1 = 8

4

5

6 --> 에서 걸리므로 8+1 = 9

7

8

9 --> 에서 걸리므로 9+1 = 10

10

 

이 된다.

즉, 숫자가 빠지면서 더해진 숫자 = 루프한 값이 같아지는 순간이 루프를 끊을 시기이고, 이 때의 값을 출력하면 정답을 얻을 수 있다

 

class Solution {
    public int solution(int n) {
        int answer = n;
        int whileInt = 1;

        while(whileInt <= answer) {
            if(whileInt % 3 == 0 || String.valueOf(whileInt).contains("3")) {
                answer++;
            }

            whileInt++;
        }

        return answer;
    }
}

 

반응형