본문 바로가기
개발공부/프로그래머스

프로그래머스 정수 내림차순으로 배치하기(js / 자바스크립트)

by 또깽판 2022. 1. 19.

 

링크 :

https://programmers.co.kr/learn/courses/30/lessons/12933

 

코딩테스트 연습 - 정수 내림차순으로 배치하기

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

programmers.co.kr

문제

 

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

 

 


내가 작업한 코드 

n = 1240789

function solution(n) {
    var answer = [];
    var count = String(n) // 숫자를 문자로 변환 
    var sum = ''
    for(let i=0; i<count.length; i++){
      answer.push(count[i])
      answer.sort((a,b)=>b-a) // 내림차순
    }
      return Number(answer.join(""))
    
}



solution(n)

 

문제풀이 

1.  sort 함수를 이용하여서 내림차순까지는 어려움 없이 진행

2. 여기서 return answer로 받아오면  console 창에 배열형태로 값이 들어옴 

3. 최종 출력값은 배열에 들어오게 하는게 아닌라 9876541 이런 형태값으로 출력이 되어야함 

 

4. join이라는 함수를 이용하여 원소를 출력하였음 

  join 함수란 ? 
 배열에 있는 원소들의 하나의 값으로 만드는 !!!!!

 여기서 원소의 구분은 , (컴마)로 진행되기 때문에 원소들의 구분을 다른 문자로 하려면 () 안에 원하는 문자 입력 

 

join 함수를 이해하기 위해서 예시를 몇개 진행해봄 

ㄴ join() 괄호 안에 "/" 넣어주니 출력값이 9/8 형식으로 출력이 됨 

 

출처:https://www.codingfactory.net/10450

댓글