반응형
https://www.acmicpc.net/problem/1427
1427번: 소트인사이드
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
문제
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
입력
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
C++ 풀이
받고있는 숫자의 중간에 공백이 없어서 이 숫자를 어떻게 배열로 정렬을하지...? 하다가
str형으로 문자정렬을 한 후 출력하는 방향으로 진행하였다
C++ 코드
#include<iostream>
#include<string>
using namespace std;
int main()
{
string num;
int n;
cin >> n;
num = to_string(n);
// 변환 되었는지 확인해보기
// cout << num;
// 문자열의 길이만큼 반복하며 수를 정렬
for (int i = 0; i < num.length();i++)
{
int temp;
for (int j = i+1; j < num.length();j++)
{
if (num[i] < num[j])
{
temp = num[i];
num[i] = num[j];
num[j] = temp;
}
}
}
for (int i = 0; i < num.length(); i++)
{
cout << num[i];
}
}
python 풀이
python 코드 역시 문자열로 입력받았다
*num으로 바로 출력하려고 했으나 '4 3 2 1' 이런 식으로 공백이 생겨서 for문을 통해 출력했다
python 코드
# 1427 소트인사이드
num = list(input())
for i in range(len(num)):
for j in range(i,len(num)):
if num[i] < num[j]:
num[i], num[j] = num[j], num[i]
# print(*num)
for i in range(len(num)):
print(num[i],end='')
반응형
'study > 백준' 카테고리의 다른 글
[백준] 2750. 수 정렬하기 : C++ (0) | 2022.02.20 |
---|---|
[백준] 2576. 홀수 : C++ (0) | 2022.02.19 |
[백준] 9325. 얼마? : C++ (0) | 2022.02.15 |
[백준] 10178. 할로윈의 사탕 : C++ (0) | 2022.02.13 |
[백준] 1009. 분산처리 : C++ (0) | 2022.02.13 |