백준 1755 c++

magicdrill·2024년 6월 22일
0

백준 문제풀이

목록 보기
374/654

백준 1755 c++

map은 키값에 대해 자동 정렬하여 저장되기 때문에 map으로 정답 자료구조를 만들어 보았다.

#include <iostream>
#include <vector>
#include <map>
#include <algorithm>

using namespace std;

void input_num(vector<int>& num)
{
	int M, N, i, temp;

	cin >> M >> N;
	for (i = M; i <= N; i++)
	{
		num.push_back(i);
	}

	return;
}

string int_to_char(int num)
{
	string answer;

	switch (num)
	{
	case 1:
		answer = "one";
		break;
	case 2:
		answer = "two";
		break;
	case 3:
		answer = "three";
		break;
	case 4:
		answer = "four";
		break;
	case 5:
		answer = "five";
		break;
	case 6:
		answer = "six";
		break;
	case 7:
		answer = "seven";
		break;
	case 8:
		answer = "eight";
		break;
	case 9:
		answer = "nine";
		break;
	default:
		answer = "zero";
		break;
	}

	return answer;
}

void find_answer(vector<int>& num)
{
	int i, j;
	map<string, int> answer;
	int current;
	string A, B;

	for (i = 0; i < num.size(); i++)
	{
		current = num[i];
		if (current < 10)
		{
			A = int_to_char(current);
			answer[A] = current;
		}
		else
		{
			A = int_to_char(current / 10);
			B = int_to_char(current % 10);
			answer[A + " " + B] = current;
		}
	}
	/*for (auto ans : answer)
	{
		cout << ans.first << " : " << ans.second << "\n";
	}*/
	
	i = 0;
	for (auto ans : answer)
	{
		i++;
		cout << ans.second << " ";
		if (i == 10)
		{
			cout << "\n";
			i = 0;
		}
	}
	cout << "\n";

	return;
}

int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	vector<int> num;

	input_num(num);
	find_answer(num);

	return 0;
}

0개의 댓글