프로그래머스 Lv1. 문자열 내림차순으로 배치하기

용상윤·2021년 2월 20일
0

📌 문제

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


📌 접근

  • 아스키코드 값을 이용하면 되는데, 대문자의 아스키코드 값이 소문자보다 크므로 내림차순 정렬은 까다로울 것이 없는 문제.

📌 코드

js

function solution(s) {
    return s.split("").sort().reverse().join("");
}

const s = "Zbcdefg"
s.split();
//["Zbcdefg"]
s.split("");
//["Z", "b", "c", "d", "e", "f", "g"]
s.split("").sort()
//["Z", "b", "c", "d", "e", "f", "g"]
s.split("").sort().reverse()
//["g", "f", "e", "d", "c", "b", "Z"]
s.split("").sort().reverse().join("");
//"gfedcbZ"

python

def solution(s):
    return "".join(sorted(s, reverse=True))
    
" ".join(sorted(s, reverse=True))
# "g f e d c b Z"

✍ 메모

문자열 나누기

split()

js

const s = "Zbcdefg";
s.split("");
// ["Z", "b", "c", "d", "e", "f", "g"]

python

s = "Zbcdefg"
s.split("")
# error
s.split(" ")
# ['Zbcdefg']
list(s)
# ['Z', 'b', 'c', 'd', 'e', 'f', 'g']

오름차순, 내림차순 정렬

sort(), sorted(), reverse()

js

s.split("").sort()
// ["Z", "b", "c", "d", "e", "f", "g"]

python

list(s).sort()
# None 
sorted(list(s))
# ['Z', 'b', 'c', 'd', 'e', 'f', 'g']
sorted(s)
# ['Z', 'b', 'c', 'd', 'e', 'f', 'g']
# s가 문자열일 경우 바로 리스트로 반환해준다.

sorted(s).reverse()
# None
sorted(s, reverse=True)
# ["g", "f", "e", "d", "c", "b", "Z"]

python 에서 sort()None을 반환.
문자열과 튜플은 sort() 를 사용할 수 없다. (immutable)

profile
달리는 중!

0개의 댓글