Q1) 문자열 내림차순으로 배치하기
풀이(JavaScript)
아래 순서대로 진행하면 해결할 수 있다.
split()
sort()
reverse()
join()
코드로 작성하면 아래와 같다.
function solution(s) {
return s.split("").sort().reverse().join("");
}
풀이(Python)
※ python에서 똑같이 split()
함수를 사용하면 동작하지 않는다.
def solution(s):
answer = sorted(s, reverse=True) // 여기까지가 위의 1~3번과 같다.
return ''.join(answer) // 배열을 다시 문자열로 변환해준다.
좀 더 줄인다면 위의 Js 코드처럼 한 줄로 가능하다.
def solution(s):
return ''.join(sorted(s, reverse=True))
Q2) 자연수 뒤집어 배열로 만들기
풀이(Javascript)
function solution(n) {
var answer = [];
let temp = n.toString().split("").reverse();
for(num in temp){
answer.push(parseInt(temp[num]))
}
return answer;
}
풀이(Python)
def solution(n):
return [int(digit) for digit in str(n)[::-1]]
str(n)
: 입력 숫자 n을 문자열로 변환한다.[::-1]
: 이것은 Python의 슬라이싱 표기법이다. 1단계에서 얻은 문자열을 반대로 바꿉니다. 따라서 n이 12345이면 str(n)[::-1]은 "54321"이 된다.for digit in str(n)[::-1]
: 2단계에서 얻은 역 문자열의 각 문자(숫자)를 반복하는 루프다.int(digit)
: 각 문자를 다시 정수로 변환한다. 이는 각 숫자를 문자('5', '4', '3', '2', '1')에서 정수(5, 4, 3, 2, 1)로 변환한다.[int(digit) for digit in str(n)[::-1]]
은 4단계에서 얻은 정수들의 배열을 구성한다.