반응형
보기엔 쉬워보였는데 풀이가 안떠올라서 한참 걸렸습니다..ㅠ
function solution(numbers) {
var answer = '';
if (numbers.reduce((a,b)=>a+b)==0) {return "0";}
let num = numbers.map(x=>x.toString()); // string형변환
num.sort((a, b)=>{
let num1 = a+b, num2 = b+a;
return num1-num2;
});
let number = num.map(x=>x.toString());
for (let i = 0; i < num.length; i++) {
answer+=number.pop();
}
return answer;
}
reduce와 map 메소드를 처음 사용해 봤습니다.
풀고 나서 다른분들의 풀이를 보았더니,, 아직 형변환이 미숙하다는걸 느꼈습니다.
map은 map(v=>v+'') 이런식으로
sort는 .sort((a,b) => (b+a)*1 - (a+b)*1) 이런식으로
그리고 join 메소드도 처음 알게되었고
0에 대한 처리도 answer[0]==='0'?'0':answer 이런식으로 제일 높은 숫자가 0이면 0을 출력하는 로직이였습니다.
반응형
'Algorithm' 카테고리의 다른 글
백준 1002번 터렛 [ Java ] (0) | 2019.12.27 |
---|---|
백준 3053번 택시 기하학 [ Java ] (0) | 2019.12.23 |
백준 4153번 직각삼각형 [ Java ] (0) | 2019.12.23 |
백준 3009번 네 번째 점 [ Java ] (0) | 2019.12.23 |
백준 1085번 직사각형에서 탈출 [ java ] (0) | 2019.12.19 |