알고리즘-2021/04/03


문제 설명

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

제한 사항

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

입출력 예

s	return
"Zbcdefg"	"gfedcbZ"

풀이

function solution(s) {
    let answer = s.split("").sort().reverse().join("");
    return answer;
  }

console.log(solution("Zbcdefg")) //"gfedcbZ"

음.. 그렇다
요구 사항이 간단해서 간단하게 풀린다

일단 처음 생각한 것은 유니코드로 변환해서 정렬을 통한 뒤 reverse를 시키고 다시 문자열로 만들면 된다고 생각하였다.

문자열을 유니코드(16비트)로 변환하는 답안도 시도해보았다. [아스키코드와 유니코드는 엄연히 말하면 범위가 다르다]

그런데 그냥 sort방식으로도 풀리기에 MDN을 찾아보니 기본 정렬 방식 자체가 유니코드기반이라고 한다.. 그렇다

여튼 끝!

참고

좋은 웹페이지 즐겨찾기