나의 개발일지

[프로그래머스] Lv.0 로그인 성공? [Python, 파이썬] 본문

프로그래머스

[프로그래머스] Lv.0 로그인 성공? [Python, 파이썬]

YoonJuHan 2023. 3. 2. 19:39
def solution(id_pw, db):

    for i in db:
        if id_pw[0] == i[0]:
            if id_pw[1] == i[1]:
                return "login"
            else:
                return "wrong pw"

    return "fail"

 

  • 2차원 리스트인 db를 딕셔너리로 만들어서 찾는 방법을 사용
  • 이렇게 풀면서 get() 함수의 사용법을 얻었다.
  • dict.get(key 값) : 일치하는 key 값이 있으면 이에 맞는 value 값을 리턴해준다. 없으면 None를 리턴
  • dict.get(key 값, x) : 리턴 값이 None 일 때 None 대신 x를 리턴한다. x 자리에는 문자열, 정수, 리스트 등등 대부분 들어갈 수 있는 것 같다.
def solution(id_pw, db):
    dd = dict(db) 			# 딕셔너리로 변환
    pw = dd.get(id_pw[0])   # get 함수로 id에 일치하는 비밀번호를 얻음, 일치하는 id 없으면 None 반환
	# get 함수는 key 값으로 value 값을 얻어낸다. 없으면 None
    
    if pw == None:			# pw가 None이면 "fail", 일치하는 id가 없다는 것
        return "fail"
    elif pw == id_pw[1]:    # None이 아니면 pw는 비밀번호를 가지고 있다. 일치하면 "login"
        return "login"

    return "wrong pw"		# 일치하지 않으면 "wrong pw"
Comments