요구능력 : 연속된 수를 판별해 낼 수 있느냐
코드설명 :
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
}
}
'Algorithm > 문제풀이_백준' 카테고리의 다른 글
Swift) 백준 2751번 (수 정렬하기2) (0) | 2021.08.20 |
---|---|
Swift) 백준 2750번 (수 정렬하기) (0) | 2021.08.20 |
Swift) 백준 7568번 (덩치) (0) | 2021.08.19 |
Swift) 백준 2231번 (분해합) (3) | 2021.08.18 |
Swift) 백준 2798번 (블랙잭) (0) | 2021.08.18 |
댓글