## 문제
BOJ 1065 한수
## solution
양의 정수 x의 각 자리가 등차수열을 이룬다면 그 수를 한수라고 한다. n이 주어질때 1보다 크거나 같고, n보다 작거나 같은 한수의 개수를 출력하는 프로그램 작성하기.
x의 각 자리가 등차수열을 이루는지 판별하고, 1부터 n까지 개수를 세면 된다. x를 list로 바꾸고 각 자리 차가 일정한지 보면 된다.
N <= 1000 조건이 있다.
## CODE
내 풀이
```python
NumHan = 0
for i in range(1, int(input())+ 1) :
NumHan = NumHan + 1 if i < 100 or i//10%10*2==i%10+i//100 else NumHan
print(NumHan)
```
다른 사람의 풀이인데, 주어지는 숫자가 1000보다 작으므로 10으로 나누는(몫을 구하는) 등의 조작을 통해서 각 자리 숫자만 뽑아서 판단할수 있다.
이렇게 보니까 내 풀이가 미련하게 보이네...
다시보니까 100보다 작은 경우 모두 한수에 해당한다. 한자리 수, 두자리 수의 경우 그냥 등차수열이 되므로 판단할 필요가 없다.
0 댓글