[프로그래머스][C++] 로그인 성공?
로그인 성공?
문제 링크
분석
회원 목록과 주어진 사용자 정보를 비교하여 결과를 반환해야합니다.
나올 수 있는 결과는 세 가지 중 하나입니다.
"login"
: 아이디와 비밀번호가 일치하는 경우"wrong pw"
: 일치하는 아이디는 있지만, 비밀번호는 일치하는게 없는 경우"fail"
: 일치하는 아이디가 존재하지 않는 경우
풀이
#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 (db[i][0] == id_pw[0])
{
// 비밀번호도 같은 경우
if (db[i][1] == id_pw[1])
{
answer = "login";
}
// 비밀번호는 다른 경우
else
{
answer = "wrong pw";
}
}
}
return answer;
}
성능 요약
시간 복잡도는 $O(n)$입니다.
db
배열을 순회하는 반복문 $O(n)$
공간 복잡도는 고정된 크기의 상수 공간을 사용하기 때문에 $O(1)$입니다.
테스트 성능
테스트 1 〉 통과 (0.01ms, 4.16MB)
테스트 2 〉 통과 (0.01ms, 4.07MB)
테스트 3 〉 통과 (0.01ms, 4.13MB)
테스트 4 〉 통과 (0.01ms, 3.6MB)
테스트 5 〉 통과 (0.01ms, 4.13MB)
테스트 6 〉 통과 (0.01ms, 4.2MB)
테스트 7 〉 통과 (0.01ms, 4.2MB)
테스트 8 〉 통과 (0.01ms, 4.22MB)
댓글남기기