일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- HashSet
- 백준 1197번 최소 스패닝 트리 - java
- Java
- Stack
- 백준 1806번 부분합 java
- 백준 1043번 거짓말 - java 분리 집합
- hash
- 백준 1541
- 백준 3190번
- 코틀린기초
- StringTokenizer
- 백준 2467번 용액 자바 - 이분탐색
- kotlin
- 프로그래머스 자바
- 백준 2473번 세 용액 - java
- 프로그래머스 java
- HashMap
- toUpperCase
- append
- 최소 힙 1927
- 백준 14938번 서강그라운드
- 프로그래머스
- 18111번 마인크래프트 - java 구현
- mysql hy000 에러
- dp
- StringBuilder
- replace()
- 백준 1647번 도시 분할 계획 - java
- ac 5430번
- map
- 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 |