알고리즘 PS/Sorting

프로그래머스 - 문자열 내 마음대로 정렬하기

explorer999 2024. 7. 24. 22:00

코딩테스트 연습 - 문자열 내 마음대로 정렬하기 | Programmers School

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

#파이썬 코드

def solution(strings, n):
	strings.sort()
	return sorted(strings, key=lambda x: x[n])

 

람다 함수의 키 값으로 문자열의 n번째 값을 지정해서 정렬한다!

 

 

 

리스트나 딕셔너리 정렬할 때 기준 값 설정하는 법:

fruits_list.sort(key=lambda x: x[0])

 

 

 

 

다른 방법으로 푼 자바스크립트 코드

//자바스크립트 코드

function solution(strings) {
    let answer = [];

    for (let i = 0; i < strings.length; i++){
        strings[i] = strings[i][n] + strings[i];
    }

    strings.sort();

    for(let j = 0; j < strings.length; j++) {
        strings[j] = strings[j].replace(strings[j][0], "");
        answer.push(strings[j]);
    }

    return answer;
}

기준이 되는 n번째 값을 앞에 붙여서 오름차순 정렬한 뒤에 answer에 push할 때는 맨 앞글자를 공백으로 바꾼 뒤에 넣는다. 

 

이 방법으로 푼 파이썬 코드는 다음과 같다.

def solution(strings, n):
    answer = []

    for i in range(len(strings)):
        strings[i] = strings[i][n] + strings[i]
    
    strings.sort()

    for j in range(len(strings)):
        answer.append(strings[j][1:])
        
    return answer