[코딩테스트]BJ1427 소트인사이드- C++

Coffee Time☕·2020년 11월 7일
0

코딩테스트

목록 보기
11/42

[문제]

배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.

[입력]

첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1000000000보다 작거나 같은 자연수이다.

[출력]

첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.

[문제풀이]

쉬운 문제이다. algorithm의 내장 sort함수를 이용하여 풀었다.

sort(num, num + strlen(num),greater<int>());

+처음에 코드를 제출했을 때 컴파일에러가 났다.
이는 strlen 때문인데, 비주얼스튜디오2017에서는 iostream헤더만으로 작동하나,
백준에서는 작동되지 않는다. 백준에서는 gcc 컴파일러를 이용하여 채점하고, vs에서는 c++컴파일러를 이용하기 때문이다. 따라서 cstring이나 string.h헤더를 추가해야한다.

[코드]

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std; 

int main() {

	char num[10];
	cin >> num; 

	sort(num, num + strlen(num),greater<int>());

	for (int i = 0; i <strlen(num); i++)
		cout << num[i];
	return 0;
}

0개의 댓글

관련 채용 정보