[프로그래머스 / C++] 로그인 성공?

YH·2023년 7월 19일
0

문제

로그인 성공? : 문제 링크


문제 분석

  • 머쓱이가 입력한 아이디와 패스워드가 담긴 배열 id_pw와 회원들의 정보가 담긴 2차원 배열 db가 주어질 때, 아이디와 비밀번호가 모두 일치하는 회원정보가 있으면 "login"을, 로그인이 실패했을 때 아이디가 일치하는 회원이 없다면 "fail"를, 아이디는 일치하지만 비밀번호가 일치하는 회원이 없다면 "wrong pw"를 return
  • 이중 if문에서 compare() 함수를 통해 아이디와 패스워드 동일 여부를 판단하고 동일하다면 answer 문자열에 "login"을, 패스워드만 다르다면 "wrong pw"를 저장하고 break로 for문 탈출
  • answer 문자열을 "fail"로 초기화 했으므로, 동일한 아이디가 없었다면 "fail"을, 나머지의 경우는 위에서 저장한 문자열을 return

compare() 함수 사용법
문자열1.compare(문자열2)
=> return 값이 0이면 두 문자열이 동일함을, -1이면 다름을 의미


풀이

#include <string>
#include <vector>

using namespace std;

string solution(vector<string> id_pw, vector<vector<string>> db) {
    string answer = "fail";
    for(int i = 0; i < db.size(); ++i) {
        if(id_pw[0].compare(db[i][0]) == 0) {
            if(id_pw[1].compare(db[i][1]) == 0) answer = "login";
            else answer = "wrong pw"; 
            break;
        }
    }
    return answer;
}
profile
Keep Recycling Your Dreams

0개의 댓글