프로그래머스/Python
[프로그래머스] 문자열 내 마음대로 정렬하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트
우당탕탕 개발자
2023. 7. 9. 16:21
728x90
반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 문제 설명
2. 풀이과정
- 인덱스 문자가 동일할 경우 사전순으로 정렬한 결과를 반환해야 하므로 먼저 사전순으로 문자열 리스트의 원소를 정렬한다. strings.sort()
- 문자열 리스트의 각 원소와 인덱스 문자를 저장할 딕셔너리를 생성한다. d = {}
- 문자열 리스트의 각 원소를 하나씩 추출한다. for i in strings
- 추출한 원소를 key로 하고 인덱스 문자를 value로 하여 딕셔너리에 추가한다. d[i] = i[n]
- 딕셔너리의 원소들을 value의 값으로 정렬한다. items() 메서드를 활용하여 딕셔너리의 key와 value를 tuple 형태로 묶어 리스트의 형태로 변환하고 lambda 식을 활용해 인덱스 문자가 저장된 1번째 값을 기준으로 오름차순 정렬을 해준다. d = sorted(d.items(), key = lambda x : x[1])
- 정렬한 딕셔너리의 각 원소를 하나씩 추출한다. for i in d
- 딕셔너리의 key를 정답에 추가한다. answer.append(i[0])
반응형
3. 소스코드
def solution(strings, n):
answer = []
strings.sort()
d = {}
for i in strings:
d[i] = i[n]
d = sorted(d.items(), key = lambda x : x[1])
for i in d:
answer.append(i[0])
return answer
728x90
반응형