/* _CRT_SECURE_NO_WARNINGS 자리수를 내림차순으로 정렬한 수를 출력합니다. 2143 을 받아서 하나씩 정돈해야하는가? 아니면 기억해두었다가, 왔다갔다 해야하는가? 일단 2 1 4 3 을 받고 저장한다음에 한번에 소팅을 해서 출력을 해보도록 하겠습니다. 2 1 4 3 을 각각 하나의 어레이에 저장하도록 하겠습니다. 2143 이면 자리수를 어떻게 알 수 잇지? 2143 이면 2143 어떻게 알 수 있지? 일단 for 문을 만들어보겠습니다. 2143 % 10 = 3; 2143 / 10 = 214; 214 % 10 = 4; 214 / 10 = 21; 21 % 10 = 1; 21 / 10 = 2; 2 % 10 = 2; 2 / 10 = 0; 2143 을 받는다고 가정하겠습니다. */ #include <iostream> #include <algorithm> using namespace std; int numArr[11]; int cnt; int main(void) { int N; cin >> N; for (int i = 0; N>0; i++) { numArr[i] = N % 10; N /= 10; cnt++; } //for (int i = 0; i < cnt; i++) { // cout << numArr[i] << " "; //} sort(numArr, numArr + cnt);
for (int i = cnt - 1; i >= 0; i--) { cout << numArr[i]; } return 0; } |
하나의 숫자를 입력받아, 이것이 몇의 자리 숫자인지 명확히 하고, 그 안에서 소트를 내림차순으로 하는 것과 오름차순으로 하는 것 2가지가 있습니다. 방법에 대해서 인지하기. |