반응형
1. stringstream 을 활용해서 띄워쓰기에 따른 값들을 해당 변수에 저장한다.
2. unordered_map 을 활용해 uid에 따른 name을 저장한다. (change 명령이 들어와도 덮어씌우면 된다.)
3. map에서 uid에 해당하는 value값을 출력하면 된다.
#include <string>
#include <vector>
#include <map>
#include <sstream>
#include <unordered_map>
using namespace std;
vector<string> solution(vector<string> record){
vector <string> ans;
string cmd, uid, name;
map<string, string> m;
for(auto x : record){
stringstream ss(x);
ss>>cmd>>uid;
if(cmd =="Enter"||cmd=="Change"){
ss>>name;
m[uid]=name;
}
}
for (string x : record) {
stringstream ss(x);
ss >> cmd>>uid;
name = (m.find(uid)->second);
if (cmd == "Enter") ans.push_back(name + "님이 들어왔습니다.");
else if (cmd == "Leave") ans.push_back(name + "님이 나갔습니다.");
}
return ans;
}
<Python>
def solution(record):
answer = []
dic = {}
for sentence in record:
sentence_split = sentence.split()
if len(sentence_split)==3:
dic[sentence_split[1]]=sentence_split[2]
for sentence in record:
sentence_split = sentence.split()
if sentence_split[0] =='Enter':
answer.append('%s님이 들어왔습니다.' %dic[sentence_split[1]])
elif sentence_split[0]=='Leave':
answer.append('{0}님이 나갔습니다.'.format(dic[sentence_split[1]]))
return answer
두가지 방식.
1. 문자열, 정수, 실수를 % 로 포매팅
2. str.format
반응형
'프로그래머스 > Level_2' 카테고리의 다른 글
[프로그래머스 / Level_2 / C++] 모음사전 (0) | 2022.05.15 |
---|---|
[프로그래머스 / Level_2 / C++] 구명보트 (0) | 2022.05.14 |
[프로그래머스 / Level_2 / C++ ] 프린터 (0) | 2022.03.28 |
[프로그래머스 / Level_2] 소수 찾기 (0) | 2022.03.26 |
[프로그래머스 Level_2 / C++ / 카카오] [3차] 압축 (0) | 2022.02.20 |
댓글