https://programmers.co.kr/learn/courses/30/lessons/12915
주어진 조건을 만족하기 위해 딕셔너리를 활용하였다.
예 2의 경우, 정렬을 조건대로 해준 딕셔너리 결과는 다음과 같다. {'c': ['abcd', 'abce'], 'x': ['cdx']}
다음 딕셔너리를 리스트로 변환해주고 각 값들을 result에 넣어주면 정답이다.
프로그래머스에서 더 간단한 코드를 찾았다.
lambda식으로 strings의 문자열들을 n번째 글자를 기준으로 정렬하는 것이다.
def solution(strings, n):
dic={}
for string in strings:
dic[string[n]]=[]
for string in strings:
dic[string[n]].append(string)
for i in dic:
dic[i].sort()
array=list(dic.items())
array.sort()
result=[]
for i in array:
for j in i[1]:
result.append(j)
return (result)
더 쉬운 코드
def solution(strings, n):
strings.sort()
return sorted(strings, key=lambda x: x[n])