Java/Coding Test
저주의 숫자 3 문제풀이
최고다최코딩
2023. 9. 17. 21:45
728x90
3의 배수나 3이 들어간 수를 쓰지 않을 때 10진수를 표현한 수는?
public int solution(int n) {
int answer = 1;
int count = 1;
do{
if((answer+"").contains("3")||answer%3==0){
answer= answer+ 1;//하고 나서도 다시 체크
count--;
}else{
if(count==n)break;
answer = answer+1;
}
count++;
}while(count<=n);
return answer;
}
answer를 증가시키는데 3이나 3의 배수인 수는 count를 감소시켜 한번더 체크하여 answer를 증가시키도록
public int solution2(int n) {
int answer = 0;
for(int i=0; i<n; i++) {
answer++;
if((answer+"").contains("3")||answer%3==0)i--;
}
return answer;
}
for문으로 간단하게 만드는 방법도 있다..