반응형
문제
https://www.acmicpc.net/problem/1065
코드
N = int(input())
sequence_num = set()
for i in range(1,N+1):
num = str(i)
if len(num) <= 2:
sequence_num.add(i)
elif len(num) == 3:
if (int(num[1])-int(num[0])) == (int(num[2])-int(num[1])):
sequence_num.add(i)
else:
continue
else:
exit
print(len(sequence_num))
설명
우선 n을 입력받고, 등차수열을 이루는 수를 넣어줄 sequence_num을 만들어준다.
이때, set으로 만들어주어 중복을 피한다.
n까지의 반복문을 만들어서 수를 확인해야 하는데,
1000보다 작은 자연수 중 2자리의 자연수는 무조건 등차수열 이므로 무조건 등차수열 리스트에 넣어준다.
이후 3자리의 자연수 중 두 번째 자리에서 첫 번째 자리를 뺀 값이 세 번째 자리에서 두 번째 자리를 뺀 값과 같으면 등차수열이므로 리스트에 추가해준다.
이후 sequence_num의 개수를 출력해준다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 2292: 벌집 (0) | 2022.12.13 |
---|---|
[파이썬, Python] 백준 1712: 손익분기점 (0) | 2022.12.12 |
[파이썬, Python] 백준 4673: 셀프 넘버 (0) | 2022.12.10 |
[파이썬, Python] 백준 15596: 정수 N개의 합 (2) | 2022.12.09 |
[파이썬, Python] 백준 1316: 그룹 단어 체커 (0) | 2022.12.08 |