-
문제
programmers.co.kr/learn/courses/30/lessons/42746
코딩테스트 연습 - 가장 큰 수
0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰
programmers.co.kr
코드
function solution(numbers) { let answer = numbers.map(elem=> elem + '').sort((a,b) => (b+a) - (a+b)).join(''); return answer[0]=== '0'? '0' : answer; }
이해가 안된다면, 하단의 코드를 에디터로 돌려서 확인하세요 :)
function solution(numbers) { let answer = ""; numbers.sort((a, b) => { return Number(String(b) + String(a)) - Number(String(a) + String(b)); }); numbers.forEach((elem) => { console.log(elem); answer += elem + ""; }); console.log(answer); if (answer[0] === "0") { return 0; } return 0; } let numbers = [6, 10, 2]; console.log(solution(numbers));
'PS > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 폰켓몬 ( by using JavaScript ) (0) 2021.05.18 [프로그래머스_Greedy ] 구명보트 ( by using JavaScript ) (0) 2021.04.27 [프로그래머스_스택] 다리를 지나는 트럭 ( by using JavaScript) (0) 2021.04.18 [프로그래머스_완전탐색] 소수찾기 ( by using JavaScript ) (0) 2021.04.15 [프로그래머스_구현] 모의고사 (0) 2021.04.15 댓글