33. 프로그래머스(1단계) - 문자열 내림차순으로 배치하기

성훈·2021년 8월 21일
0

Algorithm

목록 보기
33/61
post-thumbnail

📌 문제의 조건

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

제한사항 🤔

  • str은 길이 1 이상인 문자열입니다.

📌 풀이

첫 풀이 👨‍💻

function solution(s) {
    let uppers = [],
        lowers = [];
    for(let i =0; i<s.length; i++){
        if(s[i]===s[i].toUpperCase()){
            uppers.push(s[i])
        } else {
            lowers.push(s[i])
        }
    }

    return `${lowers.sort().reverse().join('')}${uppers.sort().reverse().join('')}`
}

더 생각한 후 풀이 👨‍💻

function solution(s) {
    return s.split('').sort().reverse().join('')
}

📌 리뷰

솔트가 순간 헷갈려서 길게 적었는데,
생각해보니 그냥 솔트 적용하면 사전 표기식으로 정렬되고 대문자가 앞으로 모여서 정렬되게 되니까 나누고 분류하고 뒤집고 합치면 되는 문제였다.
괜히 솔트 조건 설정하면서 삽질하다가 단순하게 풀었는데 삽질 오지게 했네 🥲

📌 문제 출처

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges#

profile
어떻게 이걸 풀어낼 수 있을까

0개의 댓글