-
[프로그래머스 Python] 문자열 내 마음대로 정렬하기Algorithm/1일 1코테 2020. 9. 22. 11:15반응형
문제
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다.
입출력 예시
내 답
def solution(strings, n): sort_list = [] for s in strings: sort_list.append(s[n] + ':' + s) sort_list = sorted(sort_list) answer = [] for s in sort_list: a = s.split(':') answer.append(a[1]) return answer
알고리즘
1. string에서 하나씩 출력하여 n번째 글자와 + 해당 단어 전체를 sort_list에 append (ex. 'a:apple', 'b:black')
2. sort_list를 sorted 함수를 통해 오름차순 정렬 (앞글자로 정렬됨)
3. split을 이용해 ':' 뒤의 단어만 출력하여 append
다른사람 풀이
def strange_sort(strings, n): return sorted(strings, key=lambda x: x[n])
sorted에서 key값 활용이 가능했음!!!!
반응형'Algorithm > 1일 1코테' 카테고리의 다른 글
[프로그래머스 Python] 수박수박수박수박수박수? (0) 2020.09.22 [프로그래머스 Python] 서울에서 김서방 찾기 (0) 2020.09.22 [프로그래머스 Python] 문자열 다루기 기본 (0) 2020.09.22 [프로그래머스 Python] 문자열 내림차순으로 배치하기 (0) 2020.09.22 [프로그래머스 Python] 문자열 내 p와 y의 개수 (0) 2020.09.20