level1_문자열 내 마음대로 정렬하기
2024. 8. 11. 23:31ㆍ파이썬_알고리즘(코딩테스트)/level1

내가 제출한 코드
def solution(strings, n):
answer = []
for i in strings:
answer.append(i[n] + i)
answer.sort()
return [answer[1:] for i in answer]
- for i in strings:
- strings 리스트의 각 문자열 i에 대해 반복한다.
- answer.append(i[n] + i)
- 각 문자열 i의 n번째 문자를 추출한 다음, 그 문자를 해당 문자열 앞에 붙여서 answer 리스트에 추가한다.
- answer.sort()
- answer 리스트를 알파벳 순서대로 정렬한다.
- return [i[1:] for i in answer]:
- 정렬된 answer 리스트의 각 요소에서 첫 번째 문자를 제거하고, 원래 문자열 부분만을 반환한다.
다른 사람이 제출한 코드
def strange_sort(strings, n):
return sorted(strings, key=lambda x: (x[n], x))
- sorted 함수 사용
- sorted 함수는 주어진 strings 리스트를 특정 기준(key)에 따라 정렬한다.
- key 인자는 정렬의 기준이 될 값을 지정하는 데 사용된다.
- lambda x : (x[n], x)
- 리스트 strings의 각 요소 x에 대해서 (x[n], x)라는 튜플을 반환한다.
- x[n]은 문자열 x의 n번째 문자이다. 이 문자가 첫 번째 정렬 기준이 된다
- x[n]은 문자열 x의 n번째 문자이다. 이 문자가 첫 번째 정렬 기준이 된다.
- sorted 함수는 주어진 튜플 (x[n], x)을 기준으로 리스트를 정렬한다.
sorted()

'파이썬_알고리즘(코딩테스트) > level1' 카테고리의 다른 글
| level1_콜라문제 (1) | 2024.11.11 |
|---|---|
| level1_같은 숫자는 싫어 (0) | 2024.08.12 |
| level1_푸드 파이트 대회 (1) | 2024.08.11 |
| level1_K번째수 (0) | 2024.07.01 |
| level1_두 개 뽑아서 더하기 (0) | 2024.06.26 |