첫 번째 접근
- 인덱스로 뽑은 키들과 원래 문자열을 딕셔너리로 만들기
- 키를 정렬한 후 정렬된 키를 바탕으로 새로운 딕셔너리 만들기
- 중복 키 처리가 곤란함
s = ["csdf", "bbb", "cccc"]
n = 1
dic = {}
idx = []
for i in s:
dic[i[n]] = i
print(dic.keys())
sorted_key = sorted(dic.keys())
new_dic = {}
for i in sorted_key:
new_dic[i] = dic[i]
print(new_dic.values())
정답
- 키를 뽑은 인덱스와 원래값을 함께 담은 리스트생성
- 인덱스 순으로 정렬하고, 인덱스가 동일하다면 원래 문자열값과 비교
def solution(strings, n):
answer = []
num = []
#정렬 인덱스를 뽑은 리스트 만들기
for i in strings:
num.append([i[n], i])
num.sort(key = lambda m : (m[0], m[1]))
for i in num:
answer.append(i[1])
return answer
'Algorithm' 카테고리의 다른 글
두 개 뽑아서 더하기 / 프로그래머스 (0) | 2025.02.07 |
---|---|
K번째수 / 프로그래머스 (0) | 2025.02.06 |
숫자 문자열과 영단어 / 프로그래머스 (0) | 2025.02.01 |
시저 암호 / 프로그래머스 (0) | 2025.01.27 |
최소직사각형 / 프로그래머스 (0) | 2025.01.24 |