반응형
judahhh
좋게 생각하면 좋게 흘러간다!
judahhh
전체 방문자
오늘
어제
  • 분류 전체보기 (90)
    • git (2)
    • Algorithm (39)
    • Computer Science (8)
    • TIL (8)
    • FrontEnd (3)
      • React (8)
      • Typescript (0)
      • Javascript (13)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • git branch 명령어
  • 티스토리챌린지
  • 프론트엔드 개발자
  • 자바스크립트 배열 메소드
  • branch 조회
  • 자바스크립트 배열 함수
  • branch 삭제
  • 주니어 개발자
  • branch 생성
  • 이직
  • git branch
  • branch 이동
  • 오블완
  • 자바스크립트

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
judahhh

좋게 생각하면 좋게 흘러간다!

[JS] 프로그래머스 lv2. 가장 큰 수
Algorithm

[JS] 프로그래머스 lv2. 가장 큰 수

2023. 3. 15. 14:40
728x90

문제 설명

0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요.

 

예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고,

이중 가장 큰 수는 6210입니다.

 

0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요.

제한 조건

  • numbers의 길이는 1 이상 100,000 이하입니다.
  • numbers의 원소는 0 이상 1,000 이하입니다.
  • 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다.

입출력 예

 

풀이

function solution(numbers) {
    let answer = ''

    answer=numbers.map(v=>v+"").sort((a,b)=>{
    return (b+a)*1-(a+b)*1
    })

    return answer[0]==0?'0':answer.join('')
}

풀이전략

1. 주어진 numbers 배열을 map 메소드를 이용해서 string 형으로 바꾼다

2.  현재 값과 다음 값을 합쳐서 숫자로 바꾼 값이 더 큰 순서대로 내림차순 정렬

3. "00000"이 주어질 경우  "0"을 반환해야 하기 때문에 삼항 연산자로 예외처리

4. 나머지 경우는 answer을 문자열 한개로 합친 값 반환

 

 

 

 

배운 점 )

테스트 케이스 오류로 다른 분들의 풀이를 참고 하며  sort를 저렇게도 사용할 수 있음을 배웠다. 

sort 가 x-y가 양수일 때는 둘을 바꾸고 음수일 때는 냅두는 원리를 알게 되었다. 

sort의 원리를 잘 알지 못하고 썼던게 조금 부끄럽고 앞으로는 sort메소드를 능수능란하게 쓸 수 있었으면 좋겠다. 

 

 

참고자료 )

https://hianna.tistory.com/409

 

[Javascript] 배열 정렬하기 (오름차순, 내림차순, 문자열, 객체)

배열 정렬하기 (오름차순, 내림차순, 문자열, 객체) 1. sort() 함수 2. sort() 함수로 숫자 오름차순 정렬하기 3. sort() 함수로 숫자 내림차순 정렬하기 4. sort() 함수로 문자열 정렬하기 5. sort() 함수로

hianna.tistory.com

 

728x90
    'Algorithm' 카테고리의 다른 글
    • [JS] 프로그래머스 lv1. 기사단원의 무기
    • [JS] 프로그래머스 lv3. 최고의 집합
    • [JS] 프로그래머스 lv2. [3차] 파일명 정렬
    • [JS] 프로그래머스 lv2. 방문길이
    judahhh
    judahhh
    프론트엔드 개발자의 이모저모

    티스토리툴바