티스토리 뷰

요약

  • sort를 이용한 vector 정렬

풀이과정

1. 값 입력

주어지는 값을 string으로 저장하여 한자리씩 vector에 넣는다. 이때 저장은 int로 다시 바꾸기 위해 '0'을 빼준다.

    string num = "";

    getline(cin,num);

    vector<int> vec;

    for(char c : num) {
        vec.push_back(c-'0');
    }

int형으로 저장되어있다.

2. 값 정렬

이후 벡터를 정렬하기 위해 sort를 사용한다.

sort

sort는 algorithm STL Header에 속해있다.

sort(vec.begin(),vec.end(),greater<int>());

두 인자(시작과 끝)만 넣으면 default로 오름차순 정렬이 된다.

이 문제는 내림차순을 요구하기 때문에 세번째 parameter로 greater<int>()를 넣는다.

3. 값 출력

    for(int item : vec) {
        cout << item;
    }

코드

#define LOCAL

#include <bits/stdc++.h>
using namespace std;

int main() {
    #ifdef LOCAL
    freopen("input.txt","r",stdin);
    #endif
    cin.tie(0) -> sync_with_stdio(0);

    string num = "";

    getline(cin,num);

    vector<int> vec;

    for(char c : num) {
        vec.push_back(c-'0');
    }

    sort(vec.begin(),vec.end(),greater<int>());

    for(int item : vec) {
        cout << item;
    }


}

다른 사람의 풀이

다른 방법의 풀이는 발견하지 못했다.

'■ 알고리즘 > ◻ 백준' 카테고리의 다른 글

[C++]1764번: 듣보잡  (0) 2023.03.05
[C++]1541번: 잃어버린 괄호  (0) 2023.02.26
[C++] 1181번: 단어 정렬  (0) 2023.02.26
[C++]9020번: 골드바흐의 추측  (0) 2022.10.26
[C++]1929번: 소수 구하기  (0) 2022.10.26
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/11   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함