Dolphins의 HelloWorld

[백준]Baekjoon1076(map) 본문

Algorithm/baekjoon문제풀이

[백준]Baekjoon1076(map)

돌핀's 2018. 7. 1. 12:25



Map을 사용해서 풀면 쉽게 풀리는 문제이다.


https://en.cppreference.com/w/cpp/container/map


다음의 링크에서 c++ 라이브러리에서 제공하는 map에대한 설명을 볼 수 있다.


map을 사용하는 방식은 java와 크게 다르지 않으며 c++에서 좋은점은 pair같은 함수를 사용해서


키에 대한 값을 한 개 이상 유지할 수 있다는 점이다.


그러한 점이 이 문제를 풀기 쉽게 만든다.


아래의 코드를 통해 더 쉽게 map의 사용을 이해할 수 있을것이다.

#include <iostream>
#include <string>
#include <map>

using namespace std;

int main()
{
	map<string, pair<string, long>> m;
	m["black"] = make_pair("0", 1);
	m["brown"] = make_pair("1", 10);
	m["red"] = make_pair("2", 100);
	m["orange"] = make_pair("3", 1000);
	m["yellow"] = make_pair("4", 10000);
	m["green"] = make_pair("5", 100000);
	m["blue"] = make_pair("6", 1000000);
	m["violet"] = make_pair("7", 10000000);
	m["grey"] = make_pair("8", 100000000);
	m["white"] = make_pair("9", 1000000000);

	string s1, s2, s3;
	cin >> s1 >> s2 >> s3;
	cout << stol(m[s1].first + m[s2].first) * m[s3].second << '\n';
}

'Algorithm > baekjoon문제풀이' 카테고리의 다른 글

[백준]Baekjoon11279(Priority_queue)  (0) 2018.07.04
[백준]Baekjoon4949(Stack)  (0) 2018.07.01
[백준]Baekjoon10866(Deque)  (0) 2018.06.28
[백준]Baekjoon1966(Queue)  (0) 2018.06.28
[백준]Baekjoon10845(Queue)  (0) 2018.06.26
Comments