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

프로그래머스 12915번 문제


나는 못 푼, 다른 팀원의 해설

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

  for (let i = 0; i < strings.length; i++) {
    strings2.push(strings[i][n] + strings[i]);
  }
  strings2.sort();
  for (let j = 0; j < strings2.length; j++) {
    answer.push(strings2[j].slice(1));
  }
  return answer;
}
  1. 빈 배열 2개를 만든다
  2. 반복문을 이용해서 각 문자열의 n번째 글자를
    strings[i]의 맨 앞에 붙여주고, 빈 배열 중 하나인 strings2에 넣는다
  3. 채운 배열을 sort 함수를 사용해서 정렬한다
  4. 반복문으로 strings2의 요소들의 맨 앞글자를 지워주고
  5. 빈 배열인 answer에 넣고 반환한다

다른 사람의 풀이

function solution(strings, n) {
  // strings 배열
  // n 번째 문자열 비교
  return strings.sort((s1, s2) =>
    s1[n] === s2[n] ? s1.localeCompare(s2) : s1[n].localeCompare(s2[n])
  );
}

좋은 웹페이지 즐겨찾기