728x90
def solution(arr):
x = []
for i in arr:
x += arr[i]*int(arr[i])
return x
리스트 컴프리헨션 중첩 구조
def solution(arr):
return [i for i in arr for _ in range(i)]
arr의 각 요소 i를 i번 반복해서 리스트에 담는다.
[값 for 바깥루프 for 안쪽루프] 구조
[i...] 결과 리스트에 넣을 값은 i다.
[.. for i in arr ..] 바깥루프 : arr의 각 요소 가져오기
[... for _ in range(i)] 안쪽루프 : i만큼 반복하기
[리턴값 for 바깥요소 in 컬렉션 for 반복 in range(n)]
#리스트 '컬렉션'의 각 원소 '바깥요소'를 n번 '반복'해서 리턴값을 한 리스트로 펼친다.
ex)
return [i for i in arr if i % 2 == 0 for _ in range(i)]
#짝수만 i번 반복해서 펼치는 리스트
return [i**2 for i in arr if i % 2 == 0]
#짝수만 제곱해서 리스트에 담기
"""
3의 배수는 ff
5의 배수는 bb
둘 다는 fb
"""
return ["fb" if i % 15 == 0 else
"ff" if i % 3 == 0 else
"bb" if i % 5 == 0 else
str(i)
for i in range(1, n+1)
]
728x90
'Programming Practice > Python' 카테고리의 다른 글
programmers <x사이의 개수>, <공백으로 구분하기2> (0) | 2025.04.17 |
---|---|
프로그래머스 <rny_string> (0) | 2025.04.17 |
프로그래머스 <배열 비교하기> Lv.0 (0) | 2025.04.17 |
프로그래머스 <배열의 길이에 따라 다른 연산하기> (0) | 2025.04.16 |
프로그래머스 <뒤에서 5등까지> (0) | 2025.04.16 |