aotoyae

[JS] 프로그래머스 : 문자열 내 마음대로 정렬하기 본문

Coding Test

[JS] 프로그래머스 : 문자열 내 마음대로 정렬하기

aotoyae 2024. 1. 3. 11:11

 

 

📝 문제

문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.

 

🫠 나의 풀이

function solution(strings, n) {
  let result = [];

  for (let i = 0; i < strings.length; i++) {
    result[i] = strings[i][n] + strings[i]; // 문자열의 맨 앞에 두 번째 글자를 넣어준다.
  }

  result.sort(); // 사전순 정렬

  for (let j = 0; j < result.length; j++) {
    result[j] = result[j].slice(1);
    // 단어의 인덱스 1번부터 끝까지를 다시 result에 넣는다. (맨 앞 글자를 자른다.)
  }

  return result;
}

 

🧞‍♂️ 다른 사람의 풀이

function solution(strings, n) {
  return strings.sort((a, b) => {
      if(a[n] > b[n]) return 1; // 인덱스 n 번째 글자를 기준으로 오름차순 정렬
      else if (a[n] < b[n]) return -1;
      else return a > b ? 1 : -1; // n 번째 글자가 같을 시 그냥 사전순 정렬
  })
}

 

❗️ 숫자의 경우 a - b 같은 식으로 정렬 계산을 했었지만, 문자는 비교 연산자(>, < 등)를 통해 정렬을 해야 한다!

 

 

 

🔗 https://school.programmers.co.kr/learn/courses/30/lessons/12915

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

🔗 https://developer-talk.tistory.com/73

 

[JavaScript]배열 정렬 sort()

JavaScript에서 배열의 요소들을 정렬하기 위해 sort() 메서드를 사용합니다. sort() 메서드를 사용하면 배열의 요소를 오름차순 또는 내림차순으로 정렬할 수 있으며, 기존 배열의 요소들을 정렬합니

developer-talk.tistory.com