[알고리즘] 문자열 내 마음대로 정렬하기

2023. 4. 21. 14:29·알고리즘
반응형

문제 설명

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

제한사항

  • strings는 길이 1 이상, 50이하인 배열입니다.
  • strings의 원소는 소문자 알파벳으로 이루어져 있습니다.
  • strings의 원소는 길이 1 이상, 100이하인 문자열입니다.
  • 모든 strings의 원소의 길이는 n보다 큽니다.
  • 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.

입출력 예

string n return
["sun", "bed", "car"] 1 ["car", "bed", "sun"]
["abce", "abcd", "cdx"] 2 ["abcd", "abce", "cdx"]

입출력 예 설명

입출력 예 1
"sun", "bed", "car"의 1번째 인덱스 값은 각각 "u", "e", "a" 입니다. 이를 기준으로 strings를 정렬하면 ["car", "bed", "sun"] 입니다.

입출력 예 2
"abce"와 "abcd", "cdx"의 2번째 인덱스 값은 "c", "c", "x"입니다. 따라서 정렬 후에는 "cdx"가 가장 뒤에 위치합니다. "abce"와 "abcd"는 사전순으로 정렬하면 "abcd"가 우선하므로, 답은 ["abcd", "abce", "cdx"] 입니다.

나의 풀이

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 if (a < b) {
            return -1;
        } else {
            return 1
        }
    });
}
반응형
저작자표시 비영리 변경금지 (새창열림)

'알고리즘' 카테고리의 다른 글

[알고리즘] 3진법 뒤집기  (0) 2023.04.25
[알고리즘] 폰켓몬  (0) 2023.04.24
[알고리즘] 문자열 다루기 기본  (0) 2023.04.19
[알고리즘] 문자열 내림차순으로 배치하기  (0) 2023.04.18
[알고리즘] 하샤드 수  (0) 2023.04.15
'알고리즘' 카테고리의 다른 글
  • [알고리즘] 3진법 뒤집기
  • [알고리즘] 폰켓몬
  • [알고리즘] 문자열 다루기 기본
  • [알고리즘] 문자열 내림차순으로 배치하기
잉여개발자
잉여개발자
풀스택 개발자를 목표로 잉여롭게 개발 공부도 하면서 다양한 취미 생활도 즐기고 있는 잉여 개발자입니다.
  • 잉여개발자
    잉여로운 개발일지
    잉여개발자
    • 분류 전체보기 (789)
      • 개발정보 (36)
      • 개발환경 (7)
      • 개발생활 (19)
      • React (141)
        • 이론 (23)
        • 기능 (12)
        • 실험실 (88)
        • 버그 (6)
        • 패스트캠퍼스 (9)
        • Npm (3)
      • React Native (28)
        • 공통 (6)
        • TypeScript (3)
        • JavaScript (18)
        • 버그 (1)
      • Next.js (30)
        • 이론 (13)
        • 실험실 (13)
        • 버그 (3)
      • Web (35)
      • 알고리즘 (202)
        • 풀이 힌트 (39)
      • JavaScript (47)
      • TypeScript (29)
        • 기초 (27)
        • 실험실 (2)
      • Node.js (13)
        • 이론 (0)
        • 기능 (3)
        • 실험실 (9)
        • 버그 (1)
      • 도커 (4)
      • CCNA (22)
        • 이론 (4)
        • 문제 (18)
      • 취미생활 (167)
        • 잉여로운 칵테일 (2)
        • 잉여의 식물키우기 (130)
        • 잉여로운 여행기 (11)
        • 잉여의 제2외국어 (21)
        • 잉여로운 책장 (2)
      • Java (1)
        • Java의 정석 (1)
      • 꿀팁 공유 (3)
  • 태그

    Babel
    리얼클래스
    webpack
    redux
    ChatGPT
    Docker
    Node.js
    알고리즘
    next.js
    CCNA
    네트워크
    javascript
    다이소
    바질
    영어독학
    타일러영어
    덤프
    typescript
    리액트
    프로그래머스
    네이버 부스트캠프
    자바스크립트
    영어회화
    식물
    타입스크립트
    CSS
    바질 키우기
    react
    리얼학습일기
    ReactNative
  • hELLO· Designed By정상우.v4.10.1
잉여개발자
[알고리즘] 문자열 내 마음대로 정렬하기
상단으로

티스토리툴바