프로그래머스 문제풀이: 문자열 내 마음대로 정렬하기 (Javascript)

너겟·2022년 6월 4일
0
post-thumbnail

1. 문자열 내 마음대로 정렬하기

문제 풀러가기

문제 설명

문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.

입출력 예 1
"sun", "bed", "car"의 1번째 인덱스 값은 각각 "u", "e", "a" 입니다. 이를 기준으로 strings를 정렬하면 ["car", "bed", "sun"] 입니다.

입출력 예 2
"abce"와 "abcd", "cdx"의 2번째 인덱스 값은 "c", "c", "x"입니다. 따라서 정렬 후에는 "cdx"가 가장 뒤에 위치합니다. "abce"와 "abcd"는 사전순으로 정렬하면 "abcd"가 우선하므로, 답은 ["abcd", "abce", "cdx"] 입니다.

문제 풀이

function solution(strings, n) {
    let strings2 = [...strings,strings[0]]
    console.log(strings2)
    strings.sort(function(a,b){
        if(a[n] < b[n]){
            return -1;
        }
        if(a[n] > b[n]){
            return 1
        }
        if(a[n] === b[n]){
            return a<b ? -1 : 1
        }
        return 0
    })
    return strings;
    

2. 문자열 내림차순으로 배치하기

문제 풀러가기

문제 설명

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.

제한 사항
str은 길이 1 이상인 문자열입니다.

문제 풀이

엄청 간단했다. 문자열도 숫자처럼 크고 작음이 정해져있는데, 이걸 이용하면 된다.

function solution(s) {
   let a= s.split('')
   b= [...a].sort().reverse()
   return b.join('')
   
}  
profile
꾸준하게 하는 법을 배우는 중입니다!

0개의 댓글