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