https://www.acmicpc.net/problem/1427
1427번: 소트인사이드
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
c++로 백준 1427번 문제를 풀어보겠다.
문제
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
입력
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
예제 입력 1 복사
2143
예제 출력 1 복사
4321
<문제 풀이>
1. 숫자를 문자열 형태로 입력받는다.
2. 숫자 하나씩 순서대로 배열에 저장한다.
3. sort함수를 통해 오름차순으로 정렬한다.
4. 정렬된 배열 안의 숫자들을 뒤에서부터 거꾸로 출력하면 내림차순이 된다.
코드는 다음과 같다.

이 문제에서 유의할 점 :
처음에 숫자를 입력받을 때 문자열 형태로 입력받았으므로, 각각은 int형의 숫자 형태가 아닌 char형의 문자 형태로 저장된다.
그래서 출력할 때 그냥 배열 안의 숫자를 출력하면 48, 50 등과 같이 유니코드가 적용된 숫자로 출력된다.
따라서 출력시 -48을 꼭 해주어야 한다.
'C++' 카테고리의 다른 글
[백준 알고리즘] 11023번 : 더하기 3, c++ (0) | 2022.03.16 |
---|---|
[백준 알고리즘] 10822번 : 더하기, c++ (0) | 2022.03.16 |
[백준 알고리즘] 2774번 : 아름다운 수, c++ (0) | 2022.03.13 |
[백준 알고리즘] 10539번 : 수빈이와 수열, c++ (0) | 2022.03.12 |
[백준 알고리즘] 10769번 : 행복한지 슬픈지, c++ (0) | 2022.03.12 |