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

WooBuntu·2020년 7월 27일
0

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

2020.07.27

const sortHelper = (a, b) => {
  if (a > b) {
    return -1;
  }
  if (a < b) {
    return 1;
  }
  return 0;
};

const solution = (s) => {
  return s.split("").sort(sortHelper).join("");
};
  • 자바스크립트의 sort메소드는 유니코드 기준 오름차순으로 배열한다.
    (작은 값이 앞에 큰 값이 뒤에)

  • 이걸 역순으로 뒤집어주면 된다.

  • sortHelper함수 내에서 return 값의 의미는 다음과 같다.
    (localeCompare메소드 참조)

    • 1 : 앞

    • 0 : 같음

    • -1 : 뒤

  • 다른 사람의 풀이를 보니 내 코드는 훨씬 간결하게 수정할 수 있는 것이었다.

const solution = s =>{
    return s.split("").sort().reverse().join("")    
}

2020.09.12

function solution(s) {
  return s
    .split("")
    .sort((a, b) => {
      const charCodeOfA = a.charCodeAt();
      const charCodeOfB = b.charCodeAt();
      if (charCodeOfA > charCodeOfB) {
        return -1;
      }
      if (charCodeOfA < charCodeOfB) {
        return 1;
      }
    })
    .join("");
}
  • 어째 더 퇴보하냐

0개의 댓글