어흥
[프로그래머스] 오픈채팅방 (C++) 본문
728x90
반응형
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42888
1. 주의할 점
- 입력에 대한 처리를 잘 수행한다
- Map을 이용한다
2. 구현
- 입장/퇴장에 대한 내용을 Word 벡터에 저장한다
- 유저아이디를 Ids 벡터에 저장한다
- Map<String, String> 에 <유저아이디,닉네임> 형태로 저장한다
- Ids 벡터와 Map 그리고 Word 벡터를 잘 이용하여 정답을 반환한다
#include <string>
#include <vector>
#include <map>
#include <iostream>
#include <sstream>
using namespace std;
map<string, string> m;
vector<string> word,ids;
vector<string> solution(vector<string> record) {
vector<string> answer;
string str;
for(int i=0;i<record.size();i++){
istringstream ss(record[i]);
string order,uniqueId,id;
ss >>order>>uniqueId>>id;
if(order=="Enter") word.push_back("님이 들어왔습니다.");
else if(order=="Leave") word.push_back("님이 나갔습니다.");
if(order!="Change") ids.push_back(uniqueId);
if(order!="Leave") m[uniqueId] = id;
}
for(int i=0;i<ids.size();i++)
answer.push_back(m[ids[i]]+word[i]);
return answer;
}
728x90
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 전력망을 둘로 나누기 (C++) (0) | 2021.10.06 |
---|---|
[프로그래머스] 삼각 달팽이 (C++) (0) | 2021.09.29 |
[프로그래머스] 순위 검색 (C++) (0) | 2021.09.10 |
[프로그래머스] 메뉴 리뉴얼 (C++) (0) | 2021.09.10 |
[프로그래머스] 신규 아이디 추천 (C++) (0) | 2021.09.10 |
Comments