본문 바로가기
📖 Coding Test/Programmers LV.0

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

by hyebin (Helia) 2023. 1. 3.

저주의 숫자 3

문제 설명

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

입출력 예 설명

입출력 예 #1

  • 15를 3x 마을의 숫자로 변환하면 25입니다.

입출력 예 #2

  • 40을 3x 마을의 숫자로 변환하면 76입니다.

제출

import Foundation

func solution(_ n:Int) -> Int {
    var answer = 0

    for i in 1...n {
        answer += 1

        while answer % 3 == 0 || String(answer).contains("3") {
            answer += 1
        }
    }

    return answer
}
1부터 n까지 숫자를 숫자를 순차적으로 비교한다.
answer를 1 증가시킨 후, answer가 3으로 나누어 떨어지지 않고, 3을 포함하지 않을 때까지 while 문을 통해 1씩 증가시킨다.

 

반응형

댓글