알고리즘

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

2022. 6. 30. 00:50

문제 링크

 

 

프로그래머스

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

programmers.co.kr

 

 

문제 유형

정렬 (Lv.1)

 

문제 풀이

sort 메소드 파라미터로 compareFunction을 삽입해 정렬 순서를 정의했다.

 

compareFunction

(a, b가 비교되는 두 요소일때)

  • compareFunction(a, b)의 반환값 < 0: a의 인덱스가 b의 인덱스보다 작도록 정렬한다.
  • compareFunction(a, b)의 반환값= 0
  • compareFunction(a, b)의 반환값 > 0: b의 인덱스가 a의 인덱스보다 작도록 정렬한다.

문제에서 인덱스 n의  문자가 같을 경우에는 사전순으로 앞선 문자열이 앞쪽에 위치한다고 명시되어 있다.
따라서, compareFunction의 반환값이 0일 경우에는 문자열 전체를 비교해 정렬한다.

 

코드

function solution(strings, n) {
    return strings.sort((a, b) => {
        // 인덱스 n번째 문자를 오름차순으로 정렬하고, 문자가 같을때는 사전순으로 문자열을 정렬한다.
        return a[n] < b[n] ? -1 : a[n] > b[n] ? 1 : a < b ? -1 : a > b ? 1 : 0;
    });
}

 

 

 

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

[프로그래머스] 메뉴 리뉴얼 JavaScript  (0) 2022.07.08
[백준] 1260 DFS와 BFS node.js  (0) 2022.07.08
[백준] 1932 정수 삼각형 node.js  (0) 2022.07.05
[백준] 10972 다음 순열 node.js  (0) 2022.07.02
[프로그래머스] 다음 큰 숫자 JavaScript  (0) 2022.06.29
'알고리즘' 카테고리의 다른 글
  • [백준] 1260 DFS와 BFS node.js
  • [백준] 1932 정수 삼각형 node.js
  • [백준] 10972 다음 순열 node.js
  • [프로그래머스] 다음 큰 숫자 JavaScript
sandwe
sandwe
sandwe
sandwe
sandwe
전체
오늘
어제
  • 분류 전체보기 (69)
    • CSS (1)
    • 알고리즘 (35)
    • JavaScript (30)
      • 모던 자바스크립트 Deep Dive (30)
    • React (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 해쉬 맵
  • javascript
  • 백준
  • float
  • 정렬
  • Error Boundary
  • Suspense
  • 알고리즘
  • 투 포인터
  • React Query
  • string
  • 표준 빌트인 객체
  • 스프레드 문법
  • 다이나믹 프로그래밍
  • Subsets
  • 선언적
  • 구조 분해 할당
  • 클로저
  • 이진 탐색
  • 해시 테이블
  • Leetcode
  • map
  • 프로토타입
  • 백트래킹
  • 렌더링 과정
  • 스택
  • 이터러블
  • BFS
  • dfs
  • 프로그래머스

최근 댓글

최근 글

hELLO · Designed By 정상우.
sandwe
[프로그래머스] 문자열 내 마음대로 정렬하기 JavaScript
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.