티스토리 뷰

https://www.acmicpc.net/problem/1755

 

1755번: 숫자놀이

79를 영어로 읽되 숫자 단위로 하나씩 읽는다면 "seven nine"이 된다. 80은 마찬가지로 "eight zero"라고 읽는다. 79는 80보다 작지만, 영어로 숫자 하나씩 읽는다면 "eight zero"가 "seven nine"보다 사전순으로

www.acmicpc.net


map은 key를 기준으로 자동 정렬한다.

#include <bits/stdc++.h>

using namespace std;

string arr[10] = {
        "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"
};

int main() {
    int n, m; cin >> n >> m;

    map<string, int> map;
    for(int num = n; num <= m; num++) {
        if(num / 10 == 0) { // 1 <= num <= 9
            map[arr[num % 10]] = num;
        } else {
            string s = arr[num / 10] + " " +  arr[num % 10];
            map[s] = num;
        }
    }


    int idx = 0;
    for(auto iter = map.begin(); iter != map.end(); iter++) {
        idx++;
        cout << iter->second << " ";
        if(idx == 10) {
            idx = 0;
            cout << "\n";
        }
    }
}
Total
Today
Yesterday
최근에 올라온 글
«   2024/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