반응형
https://www.acmicpc.net/problem/1755
문자열과 정렬문제였습니다.
📕 풀이방법
📔 입력 및 초기화
m, n을 입력받습니다. 숫자를 문자열로 변환시킨 값을 key, 숫자를 value로 한 map 변수 numMap을 선언합니다.
📔 풀이과정
i는 m ~ n까지 loop를 돌며 1씩 증가합니다. 한 자리 수일 때 i를 문자열로 변환시켜 map에 넣습니다. 두 자리 수일 때 i / 10 과 i % 10을 문자열로 변환시킨 값을 map에 넣습니다.
📔 정답출력
map에 삽입시 자동정렬되므로 10단위씩 개행으로 끊고 답을 출력해줍니다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
int m, n;
map <string,int> numMap;
string getString(int num){
if(num == 0) return "zero";
if(num == 1) return "one";
if(num == 2) return "two";
if(num == 3) return "three";
if(num == 4) return "four";
if(num == 5) return "five";
if(num == 6) return "six";
if(num == 7) return "seven";
if(num == 8) return "eight";
if(num == 9) return "nine";
}
int main(){
cin >> m >> n;
for(int i = m; i <= n; i++){
string s;
if(i >= 10) s = getString(i / 10) + getString(i % 10);
else s = getString(i);
numMap[s] = i;
}
int cnt = 0;
for(auto el : numMap){
cout << el.second << ' ', cnt++;
if(cnt % 10 == 0) cout << '\n';
}
}
'Algorithm > String' 카테고리의 다른 글
(C++) - 백준(BOJ) 5555 : 반지 (0) | 2022.04.01 |
---|---|
(C++) - 프로그래머스(2020 KAKAO BLIND RECRUITMENT) : 문자열 압축 (0) | 2021.08.21 |
(C++) - 백준(BOJ) 15927번 : 회문은 회문아니야!! (2) | 2021.08.13 |
(C++) - 백준(BOJ) 12518번 : Centauri Prime (Small2) (0) | 2021.08.04 |
(C++) - 백준(BOJ) 12517번 : Centauri Prime (Small1) (0) | 2021.08.04 |