문제
처음 작성한 코드
def solution(strings, n):
answer = []
a = sorted([i[n] for i in strings],reverse=False)
strings = sorted(strings,reverse=False)
s = [1]*len(strings)
for i in a:
for idx,j in enumerate(strings):
if j[n]==i and s[idx]==1:
answer.append(j)
s[idx] = 0
break
return answer
코드 리뷰 후
def solution(strings, n):
return sorted(sorted(strings), key = lambda x:x[n])
깨달은 점
lambda의 사용법을 알게되었다.
sorted의 key를 통해 기준점을 잡고 정렬할 수 있다는 것을 알게되었다.
lambda는 lambda parameter_list:expression 이런 식으로 쓰이는 데, 위의 문제에서는 문자열의 n번째 인덱스를 기준으로 정렬하면 되기 때문에 lambda x:x[n] 이런식으로 사용하면 된다.
어렵다..
'Programmers' 카테고리의 다른 글
나누어 떨어지는 숫자 배열 (0) | 2020.12.29 |
---|---|
수박수박수박수박수박수? (0) | 2020.12.29 |
서울에서 김서방 찾기 (2) | 2020.12.28 |
가운데 글자 가져오기 (0) | 2020.12.28 |
문자열 다루기 기본 (0) | 2020.12.28 |