Python/Coding Test

[Coding Test] 문자열 내 마음대로 정렬하기

gangee 2023. 7. 21. 21:53

목차

    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
    반응형