본문 바로가기

알고리즘 자료구조/프로그래머스

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

728x90

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

 

프로그래머스

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

programmers.co.kr

 

🖊️문제

문제 설명

3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다.

10진법3x 마을에서 쓰는 숫자10진법3x 마을에서 쓰는 숫자

1 1 6 8
2 2 7 10
3 4 8 11
4 5 9 14
5 7 10 16

정수 n이 매개변수로 주어질 때, n을 3x 마을에서 사용하는 숫자로 바꿔 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ n ≤ 100

입출력 예

n result
15 25
40 76

 

 

🖊️문제 풀이

일단 반복문을 이용해서 값을 조정해주었다.

값이 3의 배수거나 3을 포함하고 있을 경우에는 1을 더해주는 부분을 처리할 때는 while문을 사용해 처리해주었다.

요 부분이 조금 헷갈린 부분이었음..

 

🖊️코드

public int solution(int n) {
    int answer = 0;
    for (int i = 0; i < n; i++) {
      answer++;
      while (answer % 3 == 0 || String.valueOf(answer).contains("3")) {
        answer++;
      }
    }
    return answer;
  }
728x90