[백준] 숫자놀이 C++
Algorithm2022. 1. 25. 09:08
반응형
1755번: 숫자놀이
79를 영어로 읽되 숫자 단위로 하나씩 읽는다면 "seven nine"이 된다. 80은 마찬가지로 "eight zero"라고 읽는다. 79는 80보다 작지만, 영어로 숫자 하나씩 읽는다면 "eight zero"가 "seven nine"보다 사전순으로
www.acmicpc.net
다양한 변수를 가지고 있는 객체를 하나의 변수를 기준으로 정렬하는 방법을 유용하게 잘 쓰고 있다.
마치 c++의 pandas를 만난 기분이다.
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
class number
{
public:
int n;
string N = "";
};
bool cmp(number a, number b)
{
if (a.N < b.N) return true;
else return false;
}
string int2string(int k)
{
string s;
if(k == 1)
s ="one";
else if(k == 2)
s ="two";
else if(k == 3)
s ="three";
else if(k == 4)
s ="four";
else if(k == 5)
s ="five";
else if(k == 6)
s ="six";
else if(k == 7)
s ="seven";
else if(k == 8)
s ="eight";
else if(k == 9)
s ="nine";
else
s = "zero";
return s;
}
int main()
{
int enter=0;
int m,n;
cin >> m >> n;
number p[100];
for(int i=m; i<=n; i++)
{
string s;
p[i].n = i;
if(i/10 != 0)
p[i].N = int2string(i/10);
p[i].N += int2string(i%10);
}
sort(p+m,p+n+1,cmp);
for(int i=m; i<=n; i++)
{
enter++;
cout << p[i].n << " ";
if(enter == 10)
{
cout << endl;
enter = 0;
}
}
return 0;
}
반응형
'Algorithm' 카테고리의 다른 글
[백준] 1427. 소트인사이트 (C++) (51) | 2022.01.25 |
---|---|
[백준] 11656. 접미사 배열 (C++) (12) | 2022.01.25 |
[백준] 10814. 나이순 정렬 (C++) (5) | 2022.01.24 |
[백준] 1431. 시리얼 번호 (C++) (4) | 2022.01.23 |
[백준] 11478. 서로 다른 부분 문자열의 개수 (C++) (1) | 2022.01.17 |
댓글()