본문 바로가기
프로그래밍/알고리즘 & 자료구조

[프로그래머스] 로그인 성공? with 파이썬

by Play_With 2023. 4. 10.
반응형

[프로그래머스] 로그인 성공? with 파이썬

 

id_pw = ["rabbit04", "98761"]
db = [["jaja11", "98761"], ["krong0313", "29440"], ["rabbit00", "111333"]]

## 정답 : false

 

1. 비교문

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. dict.get()

def solution2(id_pw, db):
    db = dict(db)
    if db.get(id_pw[0]):
        if db.get(id_pw[0]) == id_pw[1]:
            return 'login'
        else:
            return 'wrong pw'
    return 'fail'

- dict()를 통해 2차원의 리스트를 딕셔너리 형태로 만들 수 있다. 이때  [["jaja11", "98761"], ["krong0313", "29440"], ["rabbit00", "111333"]]처럼 키:값으로 치환될 수 있도록 리스트가 구성되어 있어야 한다.

db= {'jaja11' : '98761', 'krong0313' : '29440', 'rabbit00' : '111333'}

 

- dict.get(키)를 통해 키에 해당하는 값을 불러올 수 있다.

이때 해당하는 키가 있는 경우, 값이 반환되며, 없을 경우에는 None이 반환된다.

dict.get(키, 기본값)을 통해 기본값을 지정하면, 일치하는 키가 없는 경우, 기본값을 반환시킨다.

 

-  딕셔너리에서 키를 통해 값을 불러오는 방법은 2가지이다.

첫 번째는 dict['키']를 통해 불러올 수 있고, 두 번째는 dict.get('키')를 통해 불러올 수 있다.

두 방법의 차이점은 딕셔너리에 없는 '키'를 입력할 때의 반환값을 어떻게 처리하느냐에 있다.

dict['키']는 key error를 발생시켜 오류가 나지만, dict.get('키')는 None 또는 기본값을 지정했다면, 기본값이 나오기 때문에 오류가 나지 않는다.

반응형

댓글