Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- kotlin
- 액션바 필요없숴
- pwnable
- 애너그램 그룹
- SQLiteConstraintException
- UNIQUE constraint failed
- 클라우드가 뭐야
- 쏘큩
- Make sure the Cursor is initialized correctly before accessing data for it.
- Drive-By-Download
- 포너블
- 나이순 정렬
- Couldn't read row 0
- 코틀린
- 파이썬
- 블록체인
- 10814
- java.lang.IllegalStateException
- col -1 from CursorWindow
- python
- pwnable.kr
- 클라우드란?
- Docker
- 백준
- pwable.kr
- cmd1
- 페니빙
- 6566
- tlqkf
- cmd2
Archives
- Today
- Total
푸르미르
[python]4673.셀프넘버 본문
10000이하의 셀프넘버를 구하는 문제이다.
소수점을 생각하지 못했고 break를 잘못사용하여 애를 좀 먹었던 문제이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
def d(): #셀프넘버를 출력하는 함수
selfNumber=[] #셀프넘버를 담는 리스트
notselfNumber=[] #셀프넘버가 아닌 수를 담는 리스트
for i in range(1, 10001):
selfNumber.append(i)
gen=0
if i <10:
gen=i+i #생성자가 존재하는 수를 구하여 gen에 보관
notselfNumber.append(gen) #셀프넘버가 아니므로 셀프넘버가 아닌 수를 담는 리스트에 저장
elif i <100:
gen=int(i+i/10+i%10)
notselfNumber.append(gen)
elif i <1000:
gen=int(i+i/100)+int(i%100/10)+int(i%100%10)
notselfNumber.append(gen)
elif i <10000:
gen=int(i+i/1000)+int(i%1000/100)+int(i%1000%100/10)+int(i%1000%100%10)
notselfNumber.append(gen)
for i in selfNumber: #i= 1부터 10000까지 수
if i not in sorted(notselfNumber): #notselfNumber리스트에 없는 수=셀프넘버
print(i) # 셀프넘버 출력
else:#notselfNumber리스트에 존재하는 수
continue #다음 i로 넘어가기
d() #셀프넘버 출력함수를 실행
|
cs |
이 코드에서 10000이하의 셀프넘버를 출력하라 했기 때문에 5번째 줄에서 notselfNumber리스트에는 1부터 10000까지의 수가 생성자가 될 수 있는 수들을 저장했기 때문에 10000이 넘어갈 수 있다. 하지만 걱정하지 않아도 된다. 왜냐하면 21번째에서 selfNumber리스트에 1부터 10000까지의 수만 저장이 되어있기 때문에 10000이하의 셀프넘버만을 출력할 수 있다.
'Baekjoon Online Judge' 카테고리의 다른 글
[python]1157.단어 공부 (0) | 2021.01.04 |
---|---|
[python]1065.한수 (0) | 2021.01.04 |
[python]15596.정수 N개의 합 (0) | 2021.01.02 |
[python]4344.평균은 넘겠지 (0) | 2021.01.02 |
[python]3052.나머지 (2) | 2021.01.01 |