알고리즘 풀기 2

su glass·2022년 1월 26일
0

알고리즘 공부

목록 보기
2/19

문제 설명

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

제한 조건
n은 1이상 8000000000 이하인 자연수입니다.
입출력 예
n : 118372 return : 873211

function solution(n) {
    var answer = parseInt(String(n).split("").sort(function(a,b){return b - a }).join(""))
    
    return answer;
}

가장 먼저 이 문제를 보았을때 제한 조건의 사로잡혀 저 조건을 풀어야한다고 생각했다. 그걸로 인해 제대로 문제를 풀 수 없었고 js를 풀면서 html의 함수를 넣는 이상한 짓도 하면서 풀었다.
제대로 풀지 못하고 있을때 코딩을 가르쳐주던 누나에게 한소리를 듣고 어떻게 해야 되는지를 제대로 배웠다.
우선 어떻게 해야될까를 먼저 생각을 해야된다는것을 느끼었고 그 후 어떻게 할지 생각을 하였으면 그것을 하나하나 표현해야된다는것을 제대로 알았다.
이 와 같이 생각하여 윗문제를 풀었다.

1.숫자를 문자로 바꾼다.
이것은 String을 이용하여 해결하였고

2.문자를 자른다.
이것은 split을 사용하여 문자를 각 각 잘랐다.

3.자른 문자를 내림차순으로 배열한다.
이건 sort를 사용하여 a,b를 b - a로 바꾸어 내림차순으로 바꾸었다.

4.문자를 다시 숫자로 바꾼다.
이건 parseInt를 사용해 바꾸었다.

그리고 가장 마지막으로 길게 만들었던 이코드를 줄여 위에 있는 코드처럼 만들었다.

profile
시작한 코딩 공부 노트

0개의 댓글