일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Java
- 백준 1240번 노드사이의 거리
- map
- 백준 1600번 말이 되고픈 원숭이
- 스프링 다중프로필
- 프로그래머스 자바
- 코틀린기초
- Stack
- HashSet
- hash
- 프로그래머스 java
- 백준 11725번 트리의 부모 찾기
- dp
- 프로그래머스
- 포인트 컷
- kotlin
- HashMap
- 스프링 on-profile
- append
- 백준 1967번 트리의 지름 G4 자바
- replace()
- 백준 8979번 올림픽 S5 자바
- StringBuilder
- toUpperCase
- 백준 2660번 회장뽑기 G5
- 전위 중위 후위
- 서브모듈 yml
- StringTokenizer
- 백준 2206번 벽 부수고 이동하기 G3
- 백준 2589번 보물섬 G5
- Today
- Total
말하는 컴공감자의 텃밭
백준 9056 약수들의 합 - 파이썬(python3) join 본문
먼저 -1 이 나오기 전까지 입력을 받고, n의 약수를 구한 후 리스트에 넣고, 그 합이 n이 된다면 출력하면 되겠죠
간단
근데 웬걸,,, 저는 파이썬 출력 저걸 어떻게 해야하지 싶었네요 껄껄
문자열을 반복적으로 출력해본것도, 리스트 출력도 처음이라 찾아봤습니다.
.join() 이놈이 있더라구요
1 2 3 4 5 6 | my_list = ['Hello', 'World', 'Python'] result = ' '.join(my_list) print(result) >> Hello World Python | cs |
join 앞에 구분지을 요소를 넣어주면, 리스트를 순차적으로 출력해줍니다. 예제처럼 ' ' 넣으니 공백이 들어간 상태로
Hello World Python 가 출력이 됩니다.
1 2 3 4 5 6 7 8 9 | my_list = ['Hello', 'World', 'Python'] result = '\n'.join(my_list) print(result) >> Hello World Python | cs |
'\n'로 수정하면 이렇게 띄워지겠죠
그럼 Div [] 요소를 str로 반환하고, 반복해서 + 를 추가하여 출력하려면?
" + ".join(str(i) for i in Div) 로 출력하면 되겠죠
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | while(1): a = int(input()) if a == -1: break Div = [] for i in range(1, a//2+1): if a % i == 0: Div.append(i) if sum(Div) == a: print(a, "=", " + ".join(str(i) for i in Div)) else: print(a, "is NOT perfect.") | cs |
깔꼼~
while(1):
a = int(input())
if a == -1:
break // -1 입력 받을때 까지 반복.
Div = []
for i in range(1, a//2+1): // 약수 범위 반복, a//2+1 인 이유는 a가 10이면 5이상은 약수가 없죠
if a % i == 0:
Div.append(i) // append로 리스트에 추가
if sum(Div) == a: // sum() 함수로 리스트의 합이 a인 경우 완전수
print(a, "=", " + ".join(str(i) for i in Div))
else:
print(a, "is NOT perfect.")
'알고리즘 > Backjoon - Python3' 카테고리의 다른 글
백준 2592 대표값 - 파이썬(python3) (0) | 2023.05.13 |
---|---|
백준 7567번 그릇 - 파이썬(python3) - 기초 for문, 입력값 받기 (0) | 2023.05.11 |