본문 바로가기
Programming/Algorithm

백준 소트인사이드

by OKOK 2018. 1. 26.

/*

_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가지가 있습니다. 방법에 대해서 인지하기.