프로그래머스 Lv1. 정수 내림차순으로 배치하기

용상윤·2021년 3월 10일
0
post-custom-banner

문제

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


접근

  1. 입력받은 문자를 숫자로 형변환
  2. 한 자리씩 끊어서 배열로 만든 후 내림차순으로 배치
  3. 다시 합침

코드

📌 js

제출한 코드

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

개선

제출한 코드에서는 map() 함수로 각각 문자를 정수로 바꿔주는 작업을 거쳤으나 정수가 아닌 문자로도 내림차순이 가능(어차피 한 자리 수 이기 때문에 생략해도 된다.)

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

📌 python

제출한 코드

def solution(n):
    return int("".join(sorted(list(str(n)), reverse=True)))

개선

sorted() 는 list로 반환되기 때문에 문자열을 list로 만들어주는 과정을 생략할 수 있다.

def solution(n):
    return int("".join(sorted(str(n), reverse=True)))

✍ 메모

js 자료형 변환

문자 → 숫자(정수형)

const str = "1234";

parseInt(str);
// 1234

+str;
// 1234

숫자 → 문자


const num = 1234;

String(num);
// "1234"

num + "";
// "1234"

python sorted()

sorted("1234", reverse=True)
# ['4', '3', '2', '1']
profile
달리는 중!
post-custom-banner

0개의 댓글