슈뢰딩거의 고등어

오픈채팅방 본문

알고리즘

오픈채팅방

슈뢰딩거의 고등어 2021. 12. 21. 01:00

 

https://programmers.co.kr/learn/courses/30/lessons/42888

 

코딩테스트 연습 - 오픈채팅방

오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오

programmers.co.kr

string 공백단위로 나누기

vector <string> split_space(string r) {
    vector <string> result;
    string tmp = "";
    for(int i=0; i<= r.size(); i++) {

        if(r.substr(i, 1) == " " || i == r.size()) {
            result.push_back(tmp);
            tmp = "";
        }
        else {
            tmp += r[i];
        }
    }
    return result;
}

map 으로 고객 정보 저장하기

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

using namespace std;

vector <vector <string>> v;
map <string, string> user;

vector <string> split_space(string r) {
    vector <string> result;
    string tmp = "";
    for(int i=0; i<= r.size(); i++) {

        if(r.substr(i, 1) == " " || i == r.size()) {
            result.push_back(tmp);
            tmp = "";
        }
        else {
            tmp += r[i];
        }
    }
    return result;
}    

vector<string> solution(vector<string> record) {
    vector<string> answer;

    for(auto r: record) {
        vector <string> command = split_space(r);
        v.push_back(command);

        if(command[0] == "Enter" || command[0] == "Change")
            user[command[1]] = command[2];
    }
    // 입력 퇴장 입력
    for(auto cmd: v) {
        string tmp = "";
        if(cmd[0] == "Enter") {
            tmp = (user[cmd[1]] + "님이 들어왔습니다.");
            answer.push_back(tmp);

        }
        else if(cmd[0] == "Leave") {
            tmp = (user[cmd[1]] + "님이 나갔습니다.");
            answer.push_back(tmp);
        }

    }

    return answer;
}

 

'알고리즘' 카테고리의 다른 글

[프로그래머스] 위장 - 해시 C++  (0) 2021.12.21
15685 드래곤 커브 (c++)  (0) 2021.12.21
14499 주사위굴리기  (0) 2021.12.19
13460 구슬탈출2  (0) 2021.12.19
21609 상어중학교  (0) 2021.12.13
Comments