728x90
반응형
목차
개요
https://school.programmers.co.kr/learn/courses/30/lessons/120883
1. 첫 번째 시도
문제에서 요구하는 조건에 따라 로그인에 성공하는 케이스를 구현한다. 입출력 예시를 보고 조건이 맞았을 때 빨리 Return 할 수 있는 조건을 우선으로 했다.
def solution(id_pw, db):
user_id, user_pw = id_pw[0], id_pw[1]
hmap = {}
for cred in db:
db_id, db_pw = cred[0], cred[1]
hmap[db_id] = db_pw
if user_id not in hmap.keys():
return "fail"
if user_id in hmap.keys():
if hmap[user_id] == user_pw:
return "login"
if user_id in hmap.keys():
if hmap[user_id] != user_pw:
return "wrong pw"
2. 두 번째 시도
"db"라는 파라미터는 2차원 배열이다. 이를 dict() 라는 built-in 함수로 사용하면 dictionary 타입으로 변환이 가능하다. 이 특징을 감안해 dictionary로 초기화하는 구문을 단순화 시켰다.
def solution(id_pw, db):
user_id, user_pw = id_pw[0], id_pw[1]
hmap = dict(db)
if user_id not in hmap.keys():
return "fail"
if user_id in hmap.keys():
if hmap[user_id] == user_pw:
return "login"
if user_id in hmap.keys():
if hmap[user_id] != user_pw:
return "wrong pw"
3. 세 번째 시도
조건이 같은 경우를 그룹화했다.
def solution(id_pw, db):
user_id, user_pw = id_pw[0], id_pw[1]
hmap = dict(db)
if user_id not in hmap.keys():
return "fail"
if user_id in hmap.keys():
if hmap[user_id] == user_pw:
return "login"
if hmap[user_id] != user_pw:
return "wrong pw"
728x90
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] 코딩테스트 입문 #1 (with Python) (0) | 2024.04.24 |
---|---|
[Programmers] 코딩 테스트 입문 - 배열관련 문제들 (with Java) (0) | 2024.04.19 |
[Programmers] 코딩 기초 트레이닝 #8 (1) | 2023.12.02 |
[Programmers] 코딩 기초 트레이닝 #7 (0) | 2023.11.29 |
[Programmers] 코딩 기초 트레이닝 #6 (1) | 2023.11.27 |