소소한 컴퓨터 이야기

문자열 내 마음대로 정렬하기

by Cori

문제

문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다.

예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.

 

제한사항

· strings는 길이 1 이상, 50이하인 배열입니다. 

· strings의 원소는 소문자 알파벳으로 이루어져 있습니다. 

· strings의 원소는 길이 1이상, 100이하인 문자열입니다.

· 모든 strings 원소의 길이는 n보다 큽니다.

· 인덱스 1의 문자가 같은 문자열이 여럿일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 

 

입출력 예 

strings n return
["sun", "bed", "car"] 1 ["car", "bed", "sun"]
["abce", "abcd", "cdx"] 2 ["abcd","abce","cdx"]

풀이

1. Me

def solution(strings, n): 
    strings.sort()
    return sorted(strings, key = lambda x: x[n])

key 값이 같은 경우를 고려하여 우선 strings 리스트를 오름차순으로 정렬하였다. 이후 sorted() 함수에 key 값으로 정렬 기준을 추가해주어 리스트를 정렬하였다. 다른 사람의 풀이도 나랑 똑같다. (key 값이 같은 경우 정렬하지 않고 sorted만 작성할 경우 원하는 결과를 얻을 수 없음)

'CS > Coding Test' 카테고리의 다른 글

숫자의 표현  (0) 2021.09.03
문자열을 정수로 바꾸기  (0) 2021.09.03
문자열 내림차순으로 배치하기  (0) 2021.09.03
최솟값 만들기  (0) 2021.09.02
콜라츠 추측  (0) 2021.09.01

블로그의 정보

코딩하는 오리

Cori

활동하기