[JAVA 문제 풀이] 76. 저주의 숫자 3

프로그래머스 (120871)
Stupefyee's avatar
Feb 07, 2025
[JAVA 문제 풀이] 76. 저주의 숫자 3
notion image

내가 작성한 코드

💡
class Solution { public int solution(int n) { int answer = 1; // 초기값: answer=1, 시작 숫자 for (int i = 1; i <= n; i++) { // 반복: 유효 숫자 개수 카운트 (i:1~n) if (answer % 3 == 0) { // 조건: 3의 배수 체크 answer++; // 처리: 다음 숫자로 이동 i--; // 보정: 유효 숫자 미증가 continue; // 반복: 다음 루프 실행 } if (String.valueOf(answer).contains("3")) { // 조건: 숫자 내 '3' 포함 여부 answer++; // 처리: 다음 숫자 선택 i--; // 보정: 유효 숫자 미증가 continue; // 반복: 다음 루프 실행 } answer++; // 유효: 조건 미충족 -> 다음 숫자 준비 } return answer - 1; // 반환: 마지막 증가 보정 (유효 숫자 n번째) } }
  • 문제점 반복적인 동작이 보임

다른 사람의 코드

💡
class Solution { public int solution(int n) { int answer = 0; for (int i = 1; i <= n; i++) { answer++; if (answer % 3 == 0 || String.valueOf(answer).contains("3")) { i--; } } return answer; } }
내 코드에서 문제였던 반복적인 동작이 해결된 모습
 
Share article

stupefyee