Lv.1) 문자열 내 마음대로 정렬하기
문제 설명 📝

입출력 예시 📌
strings | n | return |
---|
["sun", "bed", "car"] | 1 | ["car", "bed", "sun"] |
["abce", "abcd", "cdx"] | 2 | ["abcd", "abce", "cdx"] |
코드 풀이 💡
def solution(strings, n):
strings.sort()
return sorted(strings, key=lambda x: x[n])
🔍 코드 설명
- strings 리스트를 오름차순으로 먼저 정렬 후 n번째 인덱스 기준으로 다시 정렬합니다.
key
: 정렬할 값을 변환하는 함수 작성
lambda x: x[n]
: n번째 문자 반환
다른 사람의 풀이 ✨
def strange_sort(strings, n):
'''strings의 문자열들을 n번째 글자를 기준으로 정렬해서 return하세요'''
min = []
result = []
for i in strings:
min.append(i[n])
sorted_min = sorted(min)
while len(result) != len(strings):
for j in range(0, len(strings)):
for k in range(0, len(strings)):
if sorted_min[j] in strings[k][n]:
index = k
result.append(strings[index])
continue
return result
print(strange_sort(["sun", "bed", "car"], 1))
✅ 다른 풀이의 특징
- n번째 글자 정렬를 먼저 한 후에 그에 해당하는 문자열 정렬를 합니다.
🔗 프로그래머스 문제 링크