본문 바로가기
Algorithm/문제풀이_백준

Swift) 백준 1436번 (영화감독 숌)

by Joahnee 2021. 8. 20.

요구능력 : 연속된 수를 판별해 낼 수 있느냐

 

코드설명 : 

1. result 변수를 1씩 더해가며 우리가 원하는 수를 찾을것이다.

 

2. while문을 이용해서 1씩 더하자.

 

3. 문자열로 변경해서 6이 3번연속 나오는지를 확인하자.

 

4. 6이 나온다면 판별변수에 + 1 씩 더해주자.( 6이 아니면 0을 만들어 준다. 6이 연속된게 아니라면 아래 if문에 안걸리게 하기위함)

 

5. 판별변수가 3이면 count에 1을 더해준다.( count가 몇 번째로 큰수인지 확인할 변수이다)

 

6. n과 count가 같다면 1씩 더해왔던 실질적인 수가 들어있는 result를 출력해주고 while문을 빠져나간다.

 

후기 : 이렇게 수의 순위를 비교하는 문제는 하나씩 더해가면서 조건을 넣어주면 해결하기 쉽다.

let n = Int(readLine()!)!
var count = 0
var result = 665 //1번

while true { //2번
    result += 1 
    let resultChar = String(result) //3번
    var 판별 = 0
    for i in resultChar {

        if i == "6" { //4번
           판별 += 1
        }else {
            판별 = 0
        }

        if 판별 == 3 { //5번
            count += 1
        }
    }

    if n == count { //6번
        print("\(result)")
        break
    }
}

댓글