반응형
문제
https://www.acmicpc.net/problem/1065
풀이
- 이 문제는 N이 1 ~ 1000 까지로 주어짐
- 1부터 99까지는 한수다.
- 2자리 이하이기 때문에 전부 등차수열이라고 할 수 있음
- N이 100보다 작다면, N개가 한수이다.
- 1000은 한수가 아님!
- 100 ~ 999의 숫자가 한수인지 아닌지 판별하면 된다.
- 만약 한수라면 count를 증가시킨다.
- 한수인지 아닌지 판별하는 것은 말 그대로 등차수열인지 확인만 해주면 된다.
- 3자리 수에 대해서만 판별하면 되므로, 100이라면 [1, 0, 0] 으로 만들어 준 뒤 등차수열을 만족하는지 확인하면 된다.
소스코드
후기
- 어렵지 않은 문제였다.
- 등차수열인지 판별하기 위해 배열로 만들지 않고도, 몫과 나머지를 구하는 방식으로도 풀이할 수 있을 것 같다.
- N이 1000 이하가 아니라면 어떻게 풀이할 수 있을지에 대해 생각해봄
- 배열로 만들어 준 뒤, 배열을 돌면서 공차가 같은지 확인하면 될 것 같다.
- 숏코딩으로도 재미삼아 풀어봤다..
print((1...Int(readLine()!)!).filter{$0<100||$0/100+$0%10==$0/10%10*2}.count)
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 11720 숫자의 합 (Swift) (0) | 2022.12.30 |
---|---|
[BOJ] 백준 11654 아스키 코드 (Swift) (0) | 2022.12.30 |
[BOJ] 백준 4673 셀프 넘버 (Swift) (0) | 2022.12.30 |
[BOJ] 백준 4344 평균은 넘겠지 (Swift) (0) | 2022.12.28 |
[BOJ] 백준 8958 OX퀴즈 (Swift) (1) | 2022.12.28 |