문제링크: 문자열 내 마음대로 정렬하기
✍🏻 Information
| content | |
|---|---|
| 언어 | python |
| 난이도 | ⭐️ |
| 풀이시간 | 15분 |
| 제출횟수 | 1 |
| 인터넷검색유무 | no |
🍒 My Code
def solution(strings, n):
answer = []
for i in range(0,len(strings)-1):
for j in range(i+1,len(strings)):
if strings[i][n]>strings[j][n]:
strings[i],strings[j] = strings[j],strings[i]
elif strings[i][n]==strings[j][n]:
if strings[i]>strings[j]:
strings[i],strings[j] = strings[j],strings[i]
return strings
💡 What I learned
def strange_sort(strings, n):
'''strings의 문자열들을 n번째 글자를 기준으로 정렬해서 return하세요'''
return sorted(strings, key=lambda x: x[n])
def solution(strings, n):
return sorted(sorted(strings), key=itemgetter(n))
-> 첫째 sorted로 사전순으로 정렬, 둘째 sorted로 글자 번호 순으로 정렬
lambda in sorted: 너무나 많은 곳에 쓸 수 있는것 같지만 sorted에 적용되는 예시e = sorted(a, key = lambda x : (x[0], -x[1]))
=> [(0, 1), (1, 2), (3, 0), (5, 2), (5, 1)]
f = sorted(a, key = lambda x : -x[0])
=> [(5, 1), (5, 2), (3, 0), (1, 2), (0, 1)])