개발 블로그

[프로그래머스/Javascript/Sorting] 가장 큰 수 본문

IT/Programmers

[프로그래머스/Javascript/Sorting] 가장 큰 수

파티에 2021. 4. 8. 23:22

1. 문제풀이(출처: programmers.co.kr/learn/courses/30/lessons/42746)

2. 문제 풀이
1) 문제에서 정수를 이어 붙여 만들 수 있는 가장 큰 수 라고 하였으므로 numbers에 있는 모든 숫자를 String으로 형 변환한 뒤, list에 저장한다.
2) list에 있는 정수 String끼리 서로 이어 붙인 숫자를 number로 형 변환한 뒤, 이를 바탕으로 내림차순 정렬을 한다.
3) 0만 있는 경우를 제거하기 위해 list내의 가장 큰 숫자를 Number로 형변환한다. 만약 그 값이 0이 아니라면 list에 있는 모든 숫자를 붙여서 반환하고, 0이라면 0을 반환한다.

3. 결과 코드

function solution(numbers) {
  let list = numbers.map((n) => String(n))
  list.sort((a,b) => Number(b+a) - Number(a+b))
  return (Number(list[0]))? list.join('') : String(0)
}