목차
728x90
반응형
프로그래머스 코딩테스트 1단계 : 문자열 내 마음대로 정렬하기
문제 설명
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.
문제 풀이
- 범위를 strings의 길이로 한 반복문에서 strings의 인덱스 n값을 strings 앞에 붙여 다시 정의함
- 인덱스 값이 추가된 strings를 sort로 순서대로 정렬
- 다시 반복문을 실행하여 추가했던 인덱스 n번째 값을 슬라이스해서 answer에 추가
- 최종적으로 완성된 answer 반환
정답 코드
def solution(strings, n):
answer = []
for i in range(len(strings)):
strings[i] = strings[i][n] + strings[i]
strings.sort()
for i in range(len(strings)):
answer.append(strings[i][1:])
return answer
다른 사람 풀이
def strange_sort(strings, n):
return sorted(strings, key=lambda x: x[n])
- 람다식을 이용하여 풀이함, 람다식에 대해 아직 미숙해서 따로 공부해볼 생각입니다.
* 이 문제는 프로그래머스 코딩테스트 연습 1단계 문제입니다.
728x90
반응형
'Python > Coding Test' 카테고리의 다른 글
[Coding Test] 점프와 순간이동 (0) | 2023.07.29 |
---|---|
[Coding Test] 두 개 뽑아서 더하기 (0) | 2023.07.22 |
[Coding Test] 영어 끝말잇기 (0) | 2023.07.21 |
[Coding Test] 카펫(완전탐색) (0) | 2023.07.17 |
[Coding Test] 크기가 작은 부분문자열 (0) | 2023.07.14 |