희락코딩

프로그래머스 1단계 - 정수 내림차순으로 배치하기 본문

프로그래밍/코드 문제 풀이

프로그래머스 1단계 - 정수 내림차순으로 배치하기

Hello JoyCoding 2021. 7. 1. 02:41
728x90
반응형

#문제

함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.

 

#제한 사항

n은 1이상 8000000000 이하인 자연수입니다.

 

#입출력예시

n return
118372 873211

 


# 문제 풀이 및 코드작성

어떤 임의수를 받아 내림차순으로 받기 위해서 4가지의 단계를 생각해 보았습니다.

 

1단계 임의수를 문자열로 바꿔준다!

- sort를 사용하려면 임의수를 배열로 만들어야 합니다. 그래서 n을 문자열로 만들어 줍니다.

 

2단계 스트링을 배열에 담아주기!

- 각각의 숫자를 배열로 담기 위해서 split('') 메서드를 사용합니다.

 

3단계 sort메서드를 활용해서 내림차순 해주기!

- 스플릿한 수를 sort 메서드를 활용해서 내림차순 해줍니다.

 

4단계 반복문돌리기!!

- 내림차순한 배열을 바탕으로 반복문 돌리기!! 주의할점은 반활할때 다시 숫자로 반환해서 리턴합니다.

 

1
2
3
4
5
6
7
8
9
10
11
function solution(n) {
    let str = String(n)
    let arrNum = str.split('')
    let sort  = arrNum.sort((a,b)=>b-a)
    
    let result = ''
    for(let i in sort){
        result += sort[i]
    }
    return Number(result)
}
 
cs

 

 

다른사람이 푼 코드... 감동 그자체....

 

1
2
3
function solution(n) {
    return parseInt((n+"").split("").sort().reverse().join(""));
}
 
cs

 

728x90
반응형
Comments