그렇다, 또 다시 찾아온 알고리즘 공부의 시간...
3개월만에 포스팅을 하던데, 정말 그동안 공부를 하지 않았다는게 확 느껴졌다.
조금 더 넓은 CS가 필요하다는 것을 알고 있긴 한데
계속 이론만 공부했더니 조금 지치는 감도 있어서 알고리즘도 함께 공부를 하려고 한다.
결국은 정렬
를 원하는 문제인데 맨처음에는 유니코드로 변환해서 풀어야하나 고민했다.
왜냐하면 마지막 조건이 나를 조금 헤메게 만들었는데;
이게 나는 조건 단어가 같을 경우 뒤까지 고려하는 줄 알았더니 아니였다(...)
그래서 뭐 복잡한 것은 없었고, 간단하게 풀어냈다.
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;
}
});
}
문자열인데 이렇게 정렬이 가능한 이유는 자바스크립트에서 정렬을 할 때
유니코드로 변환을 해가지고 하다보니 이런게 가능한데
다른 언어에서도 똑같이 지원되는지는 솔직히 모르겠다.
뭔가 정렬 알고리즘 그 자체를 구현해보긴 해야할 것 같은데...
한번 날을 잡고 대표적인 정렬 알고리즘도 구현을 해봐야할 것 같다.