47번 문자열 내 마음대로 정렬하기
> list.sort(key = ) 활용
def solution(strings, n):
strings.sort()
strings.sort(key = lambda x : x[n])
return strings
> 다른 방법
def solution(strings, n):
l1 = []
for ch in strings:
l1.append(ch[n] + ch)
l1.sort()
l2 = []
for ch in l1:
l2.append(ch[1:])
return l2
48번 K번째 수 정렬
def solution(array, commands):
answer = []
a = array
c = commands
t = []
for i in c: # commands 별로 수행하기 위해 for문으로 분리
t = a[i[0]-1:i[1]] # 각 commands에 따라 array 정렬 및 추출
t.sort()
answer.append(t[i[2]-1])
return answer
> 위를 좀 더 간편하게 한 식
def solution(array, commands):
answer = []
for command in commands:
i,j,k = command
answer.append(list(sorted(array[i-1:j]))[k-1])
return answer
> map(함수식, 값) 함수 활용
ef solution(array, commands):
return list(map(lambda x:sorted(array[x[0]-1:x[1]])[x[2]-1], commands))
49번 두 개 뽑아서 더하기
def solution(numbers):
a = []
n = len(numbers)
for i in range(n):
for j in range(i+1,n):
b = numbers[i]+numbers[j]
a.append(b)
answer = []
for v in a:
if v not in answer:
answer.append(v)
answer.sort()
return answer
> 위를 좀 더 간단하게
def solution(numbers):
answer = []
for i in range(len(numbers)):
for j in range(i+1, len(numbers)):
answer.append(numbers[i] + numbers[j])
return sorted(list(set(answer)))
> 다른 라이브러리 활용 combination
from itertools import combinations
def solution(numbers):
answer = []
l = list(combinations(numbers, 2))
for i in l:
answer.append(i[0]+i[1])
answer = list(set(answer))
answer.sort()
return answer
'[스파르타코딩클럽]데이터분석 과정 > PYTHON' 카테고리의 다른 글
[python][matplotlib](1) 시각화 기초 세팅 (0) | 2024.01.20 |
---|---|
[Python 코드카타] 50 ~ 51번 (프로그래머스) (0) | 2024.01.20 |
[Python 코드카타] 44~46번 (프로그래머스) (0) | 2024.01.18 |
[Python 코드카타] 41 ~ 43번 (프로그래머스) (0) | 2024.01.17 |
[Python 코드카타] 39 ~ 40번(프로그래머스) (1) | 2024.01.14 |