로그인 성공?

문제 링크

로그인 성공?

분석

회원 목록과 주어진 사용자 정보를 비교하여 결과를 반환해야합니다.

나올 수 있는 결과는 세 가지 중 하나입니다.

  1. "login": 아이디와 비밀번호가 일치하는 경우
  2. "wrong pw": 일치하는 아이디는 있지만, 비밀번호는 일치하는게 없는 경우
  3. "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)

Programmers 카테고리 내 다른 글 보러가기

댓글남기기