[프로그래머스/C++]Lv.0 - 로그인 성공?

YH J·2023년 4월 18일
0

프로그래머스

목록 보기
29/168

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/120883

내 풀이

id와 pw를 모두 비교해서 맞는 메시지 출력

내 코드

#include <string>
#include <vector>

using namespace std;

string solution(vector<string> id_pw, vector<vector<string>> db) {
    string answer = "";
    bool id;
    bool pw;
    for(const auto& data : db)
    {
        id = id_pw[0] == data[0];
        pw = id_pw[1] == data[1];
        if(id)
            break;
        pw = !(id && !pw);
    }
    if(id && pw)
        answer += "login";
    else if(id && !pw)
        answer += "wrong pw";
    else if(!id)
        answer += "fail";
    
    return answer;
}

다른 사람의 풀이

#include <string>
#include <vector>
#include <map>
using namespace std;

string solution(vector<string> id_pw, vector<vector<string>> db) {
    map<string,string> m;
    for(auto i: db){
        m[i[0]]=i[1];
    }

    if(m.find(id_pw[0])!=m.end()){
        if(m[id_pw[0]]==id_pw[1]) return "login";
        else return "wrong pw";
    }
    else return "fail";
}

다른 사람의 풀이 해석

map을 사용해서 db를 정리하고 find해서 비교

profile
게임 개발자 지망생

0개의 댓글