[Programmers] #120883 - 로그인 성공? [Java][C++][Python]
[Programmers] #120883 - 로그인 성공? [Java][C++][Python]
1. 아이디어
회원들의 정보가 담긴 2차원 배열 db가 주어졌을 때, 로그인 성공, 실패에 따라 다른 메시지를 반환하는 문제로 아이디가 같은 회원이 없으므로 각 db의 아이디에 대해 아이디가 일치하는지, 일치하면 비밀번호가 일치하는지로 분기 처리를 하면 된다. 아이디가 일치하는 경우가 없으면 "fail"을 반환했다.
2. 복잡도
| 접근 | 시간 | 공간 |
|---|---|---|
| 풀이 | $O(N)$ | $O(1)$ |
($N$ = db의 길이)
3. 코드
풀이 [Java][C++][Python]
1
2
3
4
5
6
7
8
9
10
class Solution {
public String solution(String[] id_pw, String[][] db) {
for (String[] row : db) {
if (!id_pw[0].equals(row[0])) continue;
return id_pw[1].equals(row[1]) ? "login" : "wrong pw";
}
return "fail";
}
}
1
2
3
4
5
6
7
8
9
10
11
#include <bits/stdc++.h>
using namespace std;
string solution(vector<string> id_pw, vector<vector<string>> db) {
for (auto& row : db) {
if (id_pw[0] != row[0]) continue;
return id_pw[1] == row[1] ? "login" : "wrong pw";
}
return "fail";
}
1
2
3
4
5
6
7
8
def solution(id_pw, db):
for uid, upw in db:
if id_pw[0] != uid:
continue
return "login" if id_pw[1] == upw else "wrong pw"
return "fail"
This post is licensed under CC BY 4.0 by the author.