반응형
- 정수 내림차순으로 배치하기
- 문제 설명
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.
제한 조건
- n은 1이상 8000000000 이하인 자연수입니다.
- n return
118372 873211
나의 이해
n을 문자로 바꾸고 스프릿해서 내림차순으로 바꾸어 주어야겠다고 생각했다.
1. 첫번째 시도
function solution(n) {
var answer = 0;
n = n.toString().split('').sort(function(a, b) {
return b - a;
}).join().replace(/,/g,"");
console.log(n) //숫자를 문자열로 변환 후 쪼개기까지 확인
answer = parseInt(n)
return answer;
}
코드가 복잡함.
2. 두번째
function solution(n) {
var answer = 0;
n = n.toString().split('').sort().reverse().join("");
console.log(n) //숫자를 문자열로 변환 후 쪼개기까지 확인
answer = parseInt(n)
return answer;
}
다른 사람 답안을 보니 더 간단하게
function solution(n) {
// 문자풀이
return parseInt((n+"").split("").sort().reverse().join(""));
}
return으로 parseInt를 반환해주고 n에 ""를 더해 문자열로 만들어줌. 리버스도 알고있었는데 저렇게 하면 더 간결하게 만들 수 있었다. 내가 할때는 왜인지 join("")이부분이 자꾸 오류가 나서 안되었는데 다시 잘 됨.
반응형
'Sparta x 이노베이션 캠프 > 코딩테스트' 카테고리의 다른 글
알고리즘 !! 시간복잡도 & 자료 구조 & 정렬 (0) | 2022.09.28 |
---|---|
TIL) 음양더하기, 평균 구하기, 핸드폰 번호 가리기, 행렬의 덧셈, 부족한 금액 계산하기 (0) | 2022.08.06 |
TIL) JS 코딩테스트 직사각형 별찍기 , 문자열 정수로, 두 정수사이의 합, 짝수 홀수, 가운데 글자 가져오기 (0) | 2022.08.05 |