일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- dropout
- Overfitting
- DP
- 미래는_현재와_과거로
- 가끔은 말로
- lazy propagation
- 백트래킹
- 2023
- c++
- NEXT
- 알고리즘
- 플로이드 와샬
- back propagation
- 자바스크립트
- 문자열
- 세그먼트 트리
- 너비 우선 탐색
- 이분 탐색
- pytorch
- tensorflow
- 다익스트라
- BFS
- 가끔은_말로
- 크루스칼
- object detection
- 우선 순위 큐
- dfs
- 분할 정복
- 조합론
- 회고록
Archives
- Today
- Total
Doby's Lab
백준 1755번: 숫자놀이 (C++) 본문
https://www.acmicpc.net/problem/1755
1755번: 숫자놀이
79를 영어로 읽되 숫자 단위로 하나씩 읽는다면 "seven nine"이 된다. 80은 마찬가지로 "eight zero"라고 읽는다. 79는 80보다 작지만, 영어로 숫자 하나씩 읽는다면 "eight zero"가 "seven nine"보다 사전순으로
www.acmicpc.net
Level: Silver IV
Solved By: String
M과 N 사이의 수들을 문자열로 변환하는 작업을 하고, 이를 정렬하여 출력해 주면 되는 문제입니다.
하지만, 이를 출력할 때는 문자열로 바뀐 숫자가 무엇이었는지 기억해야 하기에 pair<int, string>을 사용하여 second의 기준으로 정렬하고, first를 출력해 주었습니다.
#include <iostream>
#include <vector>
#include <algorithm>
#include <map>
using namespace std;
int M, N;
vector<pair<int, string>> v;
map<string, int> m;
bool cmp(pair<int, string> a, pair<int, string> b){
return a.second < b.second;
}
string getNum(int n){
if(n == 0) return "zero";
else if(n == 1) return "one";
else if(n == 2) return "two";
else if(n == 3) return "three";
else if(n == 4) return "four";
else if(n == 5) return "five";
else if(n == 6) return "six";
else if(n == 7) return "seven";
else if(n == 8) return "eight";
else return "nine";
}
int main(){
cin >> M >> N;
for(int i = M; i <= N; i++){
if(i / 10){ // 10의 자리
int a = i / 10; int b = i % 10;
v.push_back({i, getNum(a) + ' ' + getNum(b)});
}
else{ // 1의 자리
v.push_back({i, getNum(i)});
}
}
sort(v.begin(), v.end(), cmp);
int f = 1;
for(int i = 0; i < v.size(); i++){
cout << v[i].first << ' ';
if(f % 10 == 0) cout << '\n';
f++;
}
}
728x90
'PS > BOJ' 카테고리의 다른 글
백준 1297번: TV 크기 (C++) (0) | 2023.05.29 |
---|---|
백준 1051번: 숫자 정사각형 (C++) (0) | 2023.03.01 |
백준 1544번: 사이클 단어 (C++) (0) | 2023.03.01 |
백준 14397번: 해변 (C++) (0) | 2023.01.23 |
백준 2477번: 참외밭 (C++) (0) | 2023.01.08 |