Algorithm/๋ฌธ์ œํ’€์ด

[๋ฐฑ์ค€] 17219๋ฒˆ - ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ (C++)

moaoh 2023. 9. 8. 22:14

 

17219๋ฒˆ: ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ

์ฒซ์งธ ์ค„์— ์ €์žฅ๋œ ์‚ฌ์ดํŠธ ์ฃผ์†Œ์˜ ์ˆ˜ N(1 ≤ N ≤ 100,000)๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฐพ์œผ๋ ค๋Š” ์‚ฌ์ดํŠธ ์ฃผ์†Œ์˜ ์ˆ˜ M(1 ≤ M ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๊ฐ ์ค„์— ์‚ฌ์ดํŠธ ์ฃผ์†Œ์™€ ๋น„๋ฐ€๋ฒˆ

www.acmicpc.net

๋ฌธ์ œ

2019 HEPC - MAVEN League์˜ "๋น„๋ฐ€๋ฒˆํ˜ธ ๋งŒ๋“ค๊ธฐ"์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋งŒ๋“  ๊ฒฝ๋ฏผ์ด๋Š” ํ•œ ๊ฐ€์ง€ ๋ฌธ์ œ์ ์„ ๋ฐœ๊ฒฌํ•˜์˜€๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋žœ๋ค์œผ๋กœ ๋งŒ๋“ค์–ด์ ธ์„œ ๊ธฐ์–ต์„ ๋ชป ํ•œ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๋‹ค! ๊ทธ๋ž˜์„œ ๊ฒฝ๋ฏผ์ด๋Š” ๋ฉ”๋ชจ์žฅ์— ์‚ฌ์ดํŠธ์˜ ์ฃผ์†Œ์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ €์žฅํ•ด๋‘๊ธฐ๋กœ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ปด๋งน์ธ ๊ฒฝ๋ฏผ์ด๋Š” ๋ฉ”๋ชจ์žฅ์—์„œ ์ฐพ๊ธฐ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์ง€ ๋ชปํ•˜๊ณ  ์ง์ ‘ ๋ˆˆ์œผ๋กœ ์‚ฌ์ดํŠธ์˜ ์ฃผ์†Œ์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฐพ์•˜๋‹ค. ๋ฉ”๋ชจ์žฅ์— ์ €์žฅ๋œ ์‚ฌ์ดํŠธ์˜ ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚˜๋ฉด์„œ ๊ฒฝ๋ฏผ์ด๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฐพ๋Š” ์ผ์— ์‹œ๊ฐ„์„ ๋„ˆ๋ฌด ๋งŽ์ด ์“ฐ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋ฅผ ๋”ฑํ•˜๊ฒŒ ์—ฌ๊ธด ๋ฌธ์„์ด๋Š” ๊ฒฝ๋ฏผ์ด๋ฅผ ์œ„ํ•ด ๋ฉ”๋ชจ์žฅ์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๊ธฐ๋กœ ๊ฒฐ์‹ฌํ•˜์˜€๋‹ค! ๋ฌธ์„์ด๋ฅผ ๋„์™€ ๊ฒฝ๋ฏผ์ด์˜ ๋ฉ”๋ชจ์žฅ์—์„œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฐพ์•„์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค์–ด๋ณด์ž.

 

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ €์žฅ๋œ ์‚ฌ์ดํŠธ ์ฃผ์†Œ์˜ ์ˆ˜ N(1 ≤ N ≤ 100,000)๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฐพ์œผ๋ ค๋Š” ์‚ฌ์ดํŠธ ์ฃผ์†Œ์˜ ์ˆ˜ M(1 ≤ M ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค.

๋‘๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๊ฐ ์ค„์— ์‚ฌ์ดํŠธ ์ฃผ์†Œ์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. ์‚ฌ์ดํŠธ ์ฃผ์†Œ๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž, ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž, ๋Œ€์‹œ('-'), ๋งˆ์นจํ‘œ('.')๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๋ชจ๋‘ ๊ธธ์ด๋Š” ์ตœ๋Œ€ 20์ž์ด๋‹ค.

N+2๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฐพ์œผ๋ ค๋Š” ์‚ฌ์ดํŠธ ์ฃผ์†Œ๊ฐ€ ํ•œ์ค„์— ํ•˜๋‚˜์”ฉ ์ž…๋ ฅ๋œ๋‹ค. ์ด๋•Œ, ๋ฐ˜๋“œ์‹œ ์ด๋ฏธ ์ €์žฅ๋œ ์‚ฌ์ดํŠธ ์ฃผ์†Œ๊ฐ€ ์ž…๋ ฅ๋œ๋‹ค.

 

 

 

์ถœ๋ ฅ

์ฒซ ๋ฒˆ์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฐพ์œผ๋ ค๋Š” ์‚ฌ์ดํŠธ ์ฃผ์†Œ์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ๊ฐ ์ค„์— ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

ํ’€์ด๊ณผ์ •

  • map : ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ์•„์ด๋””์— ์ •๋ณด๊ฐ€ ๋‹ด๊ธธ ๋งต
  • idPa : ์ž„์‹œ์ ์œผ๋กœ ๊ณ„์ • ์ •๋ณด๋ฅผ ๋‹ด์„ ์žฅ์†Œ

๋งต์— ๊ณ„์ •์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ต๊ณ  map.find๋ฅผ ํ†ตํ•ด ํ•ด๋‹น์ •๋ณด๋ฅผ ์ฐพ๋Š”๋‹ค.

 

code

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

std::map<std::string, std::string> map;

int		main(void)
{
	std::ios_base::sync_with_stdio(false);
	std::cin.tie(0);
	std::cout.tie(0);
	int n, m;
	std::pair <std::string, std::string> idPa;

	std::cin >> n >> m;
	for (int i = 0; i < n; i++) {
		std::cin >> idPa.first >> idPa.second;
		map.insert(std::make_pair(idPa.first, idPa.second));
	}
	for (int i = 0; i < m; i++) {
		std::cin >> idPa.first;
		std::cout << map.find(idPa.first)->second << "\n";
	}

	return (0);
}

 

ํ›„๊ธฐ

ํฌ๊ฒŒ ์–ด๋ ต์ง€์•Š๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค!