등차수열.. 이라기보다는 각 자리의 차이가 일정하다면 한수라고 본다고 해석하는 것이 이해하는 데 나았다
두 자리 수가 있을 경우 차이는 하나만 존재하는데 이런 것도 등차수열이라고 볼 수 있는지는 의문..
hansu = N
두 자리의 수까지는 그 차가 일정하다고 하여 한수라고 보고
문제는 세 자리 숫자부터 세어주는 것
hansu = 99
hansu +=1
카운트로 일일이 하지 않고, 99까지가 한수이고 그 다음부터 += 로 해서 세어주게 하였다
if numList[0] - numList[1] == numList[1] - numList[2]
세 자리 수를 비교할 때 첫번째 두번째 차이가 틀리면 틀리는 것이니, 요렇게만 설정해주어도
조건이 1000보다 같거나 작은 수이니 1000포함, 999까지 비교
for i in range(100, N+1):
numList = list(map(int, str(i))
자리 수 비교는 int 를 str 로 만들어 주는 것인데, map 함수를 사용하여 str 화 해주고 비교해주고 리스트에 담아주기
그리고 리스트 인덱스 이용하여 차이가 같으면 한수로 세어준다 count 안 해줘도 됨,
초기값 99 로 설정하고 그 이후 조건에 맞으면 99 + 1 = 로 설정해주었다
함수를 정의해주었으니
프린트문에서 사용
'2022-2 > coding, setting ..' 카테고리의 다른 글
BaekJoon | 2908번 상수 (0) | 2022.05.27 |
---|---|
BaekJoon | 11720번 숫자의 합 (0) | 2022.05.27 |
R | k-Means (비지도학습) 실습 (0) | 2022.05.25 |
R | 이전 버전 다운로드 받는 방법 (0) | 2022.05.25 |
BaekJoon | 4673번: 셀프 넘버(파이썬) (0) | 2022.05.25 |