https://school.programmers.co.kr/learn/courses/30/lessons/42888
λ¬Έμ μ€λͺ
μΉ΄μΉ΄μ€ν‘ μ€νμ±ν λ°©μμλ μΉκ΅¬κ° μλ μ¬λλ€κ³Ό λνλ₯Ό ν μ μλλ°, λ³Έλ λλ€μμ΄ μλ κ°μμ λλ€μμ μ¬μ©νμ¬ μ±ν λ°©μ λ€μ΄κ° μ μλ€.
μ μ μ¬μμΈ κΉν¬λ£¨λ μΉ΄μΉ΄μ€ν‘ μ€ν μ±ν λ°©μ κ°μ€ν μ¬λμ μν΄, λ€μν μ¬λλ€μ΄ λ€μ΄μ€κ³ , λκ°λ κ²μ μ§μΌλ³Ό μ μλ κ΄λ¦¬μμ°½μ λ§λ€κΈ°λ‘ νλ€. μ±ν λ°©μ λκ΅°κ° λ€μ΄μ€λ©΄ λ€μ λ©μμ§κ° μΆλ ₯λλ€.
"[λλ€μ]λμ΄ λ€μ΄μμ΅λλ€."
μ±ν λ°©μμ λκ΅°κ° λκ°λ©΄ λ€μ λ©μμ§κ° μΆλ ₯λλ€.
"[λλ€μ]λμ΄ λκ°μ΅λλ€."
μ±ν λ°©μμ λλ€μμ λ³κ²½νλ λ°©λ²μ λ€μκ³Ό κ°μ΄ λ κ°μ§μ΄λ€.
- μ±ν λ°©μ λκ° ν, μλ‘μ΄ λλ€μμΌλ‘ λ€μ λ€μ΄κ°λ€.
- μ±ν λ°©μμ λλ€μμ λ³κ²½νλ€.
λλ€μμ λ³κ²½ν λλ κΈ°μ‘΄μ μ±ν λ°©μ μΆλ ₯λμ΄ μλ λ©μμ§μ λλ€μλ μ λΆ λ³κ²½λλ€.
μλ₯Ό λ€μ΄, μ±ν λ°©μ "Muzi"μ "Prodo"λΌλ λλ€μμ μ¬μ©νλ μ¬λμ΄ μμλλ‘ λ€μ΄μ€λ©΄ μ±ν λ°©μλ λ€μκ³Ό κ°μ΄ λ©μμ§κ° μΆλ ₯λλ€.
"Muziλμ΄ λ€μ΄μμ΅λλ€."
"Prodoλμ΄ λ€μ΄μμ΅λλ€."
μ±ν λ°©μ μλ μ¬λμ΄ λκ°λ©΄ μ±ν λ°©μλ λ€μκ³Ό κ°μ΄ λ©μμ§κ° λ¨λλ€.
"Muziλμ΄ λ€μ΄μμ΅λλ€."
"Prodoλμ΄ λ€μ΄μμ΅λλ€."
"Muziλμ΄ λκ°μ΅λλ€."
Muziκ° λκ°ν λ€μ λ€μ΄μ¬ λ, Prodo λΌλ λλ€μμΌλ‘ λ€μ΄μ¬ κ²½μ° κΈ°μ‘΄μ μ±ν λ°©μ λ¨μμλ Muziλ Prodoλ‘ λ€μκ³Ό κ°μ΄ λ³κ²½λλ€.
"Prodoλμ΄ λ€μ΄μμ΅λλ€."
"Prodoλμ΄ λ€μ΄μμ΅λλ€."
"Prodoλμ΄ λκ°μ΅λλ€."
"Prodoλμ΄ λ€μ΄μμ΅λλ€."
μ±ν λ°©μ μ€λ³΅ λλ€μμ νμ©νκΈ° λλ¬Έμ, νμ¬ μ±ν λ°©μλ ProdoλΌλ λλ€μμ μ¬μ©νλ μ¬λμ΄ λ λͺ μ΄ μλ€. μ΄μ , μ±ν λ°©μ λ λ²μ§Έλ‘ λ€μ΄μλ Prodoκ° RyanμΌλ‘ λλ€μμ λ³κ²½νλ©΄ μ±ν λ°© λ©μμ§λ λ€μκ³Ό κ°μ΄ λ³κ²½λλ€.
"Prodoλμ΄ λ€μ΄μμ΅λλ€."
"Ryanλμ΄ λ€μ΄μμ΅λλ€."
"Prodoλμ΄ λκ°μ΅λλ€."
"Prodoλμ΄ λ€μ΄μμ΅λλ€."
μ±ν λ°©μ λ€μ΄μ€κ³ λκ°κ±°λ, λλ€μμ λ³κ²½ν κΈ°λ‘μ΄ λ΄κΈ΄ λ¬Έμμ΄ λ°°μ΄ recordκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, λͺ¨λ κΈ°λ‘μ΄ μ²λ¦¬λ ν, μ΅μ’ μ μΌλ‘ λ°©μ κ°μ€ν μ¬λμ΄ λ³΄κ² λλ λ©μμ§λ₯Ό λ¬Έμμ΄ λ°°μ΄ ννλ‘ return νλλ‘ solution ν¨μλ₯Ό μμ±νλΌ.
λ΄ νμ΄
#include <string>
#include <vector>
#include <unordered_map>
#include <sstream>
#include <iostream>
using namespace std;
vector<string> solution(vector<string> record) {
vector<string> answer;
vector<pair<string, string>> messages;
unordered_map<string, vector<int>> user_message_idx;
unordered_map<string, string> user_names;
for (const auto& r : record)
{
stringstream ss(r);
string command;
string user_id;
string user_name;
ss >> command >> user_id >> user_name;
if (command == "Enter")
{
if(user_names[user_id] != user_name)
{
for (auto i : user_message_idx[user_id])
{
messages[i].first = user_name;
}
}
user_names[user_id] = user_name;
messages.emplace_back(make_pair(user_name, "λμ΄ λ€μ΄μμ΅λλ€."));
user_message_idx[user_id].emplace_back(messages.size() - 1);
}
else if (command == "Leave")
{
messages.emplace_back(make_pair(user_names[user_id], "λμ΄ λκ°μ΅λλ€."));
user_message_idx[user_id].emplace_back(messages.size() - 1);
}
else if (command == "Change")
{
user_names[user_id] = user_name;
for (auto i : user_message_idx[user_id])
{
messages[i].first = user_name;
}
}
}
for (const auto r : messages)
{
answer.emplace_back(r.first + r.second);
}
return answer;
}
'π₯οΈ Study Note > Coding Test' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€]level.3 - ν©μΉ νμ μκΈ (C++) (0) | 2023.09.05 |
---|---|
[νλ‘κ·Έλλ¨Έμ€]level.2 - μ΄λͺ¨ν°μ½ ν μΈ νμ¬(C++) (1) | 2023.08.28 |
[νλ‘κ·Έλλ¨Έμ€]level.3 - νν κ°λ₯ν μ΄μ§νΈλ¦¬(C++) (0) | 2023.08.22 |
[νλ‘κ·Έλλ¨Έμ€]level.1 - ν¬λ μΈ μΈνλ½κΈ° κ²μ(C++) (2) | 2023.08.10 |
[νλ‘κ·Έλλ¨Έμ€]level.2 - 2xn νμΌλ§(C++) (0) | 2023.08.08 |