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

·2022년 8월 3일
0

알고리즘

목록 보기
47/47

그렇다, 또 다시 찾아온 알고리즘 공부의 시간...
3개월만에 포스팅을 하던데, 정말 그동안 공부를 하지 않았다는게 확 느껴졌다.

조금 더 넓은 CS가 필요하다는 것을 알고 있긴 한데
계속 이론만 공부했더니 조금 지치는 감도 있어서 알고리즘도 함께 공부를 하려고 한다.

결국은 정렬를 원하는 문제인데 맨처음에는 유니코드로 변환해서 풀어야하나 고민했다.

왜냐하면 마지막 조건이 나를 조금 헤메게 만들었는데;

  • 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.

이게 나는 조건 단어가 같을 경우 뒤까지 고려하는 줄 알았더니 아니였다(...)

그래서 뭐 복잡한 것은 없었고, 간단하게 풀어냈다.

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

문자열인데 이렇게 정렬이 가능한 이유는 자바스크립트에서 정렬을 할 때
유니코드로 변환을 해가지고 하다보니 이런게 가능한데
다른 언어에서도 똑같이 지원되는지는 솔직히 모르겠다.

뭔가 정렬 알고리즘 그 자체를 구현해보긴 해야할 것 같은데...
한번 날을 잡고 대표적인 정렬 알고리즘도 구현을 해봐야할 것 같다.

profile
물류 서비스 Backend Software Developer

0개의 댓글