스터디(programmers)
Java] 프로그래머스 lv.1, 저주의 숫자 3
김마리님
2023. 3. 20. 13:31
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;
}
}

반응형