티스토리 뷰
문제 링크입니다 : https://programmers.co.kr/learn/courses/30/lessons/42746?language=javascript
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
처음에 어떻게 접근해야할지 고민이 많이 됐다. 경우의 수를 다 나누자니 너무 어렵고 해서..
구글신에게 답을 구했다.
그 중에서 비교할 때, 문자열로 바꿔서 더해봐서 값이 더 큰 쪽으로 정렬되게 하는 방법이 가장 효율적으로 보였다.
그리고 배열로 전부 0, 0, 0, 0, 0, 0, 0, 0, 0, 0이렇게 들어온 경우 "0000000000"이 아닌 그냥 "0"으로 처리해줘야 한다. 이게 함정이었다.
문제 자체가 좋은지는 잘 모르겠다..
function solution(numbers) {
var answer = '';
numbers.sort(function(a, b) {
let _a = String(a);
let _b = String(b);
return (_b + _a) - (_a + _b);
});
let allZero = true;
for(let el of numbers) {
answer += el;
if(el !== 0) {
allZero = false;
}
}
if(allZero) answer = "0";
return answer;
}
개발 환경 : vscode
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 서울에서 경산까지 (0) | 2020.07.04 |
---|---|
프로그래머스 - 2017 팁스타운 짝지어 제거하기 (0) | 2020.05.23 |
프로그래머스 - 위장 (JavaScript) (0) | 2020.05.07 |
프로그래머스 - 스킬트리 (JavaScript) (0) | 2020.05.07 |
프로그래머스 - 기능개발 (JavaScript) (0) | 2020.05.07 |
댓글