프로그래밍응용/오답노트
프로그래머스, 문자열 내림차순으로 배치하기( C++, Python )
photoner
2021. 2. 28. 23:56
728x90
반응형
문제의 출처!
- 문자열 내림차순으로 배치하기
설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 사항
- str은 길이 1 이상인 문자열입니다.
입출력 예
s return
"Zbcdefg" | "gfedcbZ" |
[ C++ ]
1
2
3
4
5
6
7
8
9
10
|
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(string s) {
sort(s.begin(), s.end(), greater<>()); // 내림차순 : greater<> / 오름차순 : less<>
return s;
}
|
cs |
sort 함수의 세번째 인자로는 오름, 내림차순 혹은 정렬의 조건을 포함하는 함수를 넣을 수 있다.
주석과 같이 greater / less 등의 임시 객체 함수로 내림차순과 오름차순을 정할 수 있다.
[ Python ]
1
2
3
4
5
|
def solution(s):
return "".join(sorted(s, reverse=True))
# sorted : s를 정렬하여 새로운 리스트를 반환. (list.sort는 내부 정렬을 함. 새로운 리스트를 반환하지 않음)
# "".join() join 내의 리스트 요소들을 모두 합치는데, 앞의 문자나 문자열을 요소 중간마다 채움.
|
cs |
sorted 함수와 리스트 내의 sort 함수의 차이점을 주석에 적었으며, join 의 사용법 또한 주석 처리 되어 있다.
728x90
반응형