로그인 성공? - Python
2023. 9. 30. 19:21ㆍ공부/📝 프로그래머스
def solution(id_pw, db):
for item in db:
if item[0] == id_pw[0]:
if item[1] == id_pw[1]:
return "login"
else:
return "wrong pw"
return "fail"
# Test Cases
print(solution(["meosseugi", "1234"], [["rardss", "123"],
["yyoom", "1234"], ["meosseugi", "1234"]]))
print("="*50)
print(solution(["programmer01", "15789"], [["programmer02", "111111"], [
"programmer00", "134"], ["programmer01", "1145"]]))
print("="*50)
print(solution(["rabbit04", "98761"], [["jaja11", "98761"],
["krong0313", "29440"], ["rabbit00", "111333"]]))
print("="*50)
위와 같이 풀었습니다.
def solution(id_pw, db):
if db_pw := dict(db).get(id_pw[0]):
return "login" if db_pw == id_pw[1] else "wrong pw"
return "fail"
:= 연산자는 처음 봅니다. 공부할거리가 늘었네요.
아래는 := 연산자에 대해 ChatGPT에게 물어본 답변입니다.
이 코드에서 ":=" 연산자는 Python 3.8 이상에서 도입된 "walrus 연산자"라고 불리는 표현입니다. 이 연산자는 대입과 동시에 값을 반환하는 데 사용됩니다.
여기서 db_pw := dict(db).get(id_pw[0])라는 줄을 살펴보면, 다음과 같은 작업을 수행합니다:
dict(db)는 db라는 변수를 사전(dictionary)으로 변환합니다. 이 작업은 db가 이전에 다른 데이터 형식이었을 경우를 대비한 것으로 보입니다.
.get(id_pw[0])는 변환된 사전에서 id_pw[0]에 해당하는 키(key)를 검색하고, 해당하는 값을 반환합니다.
:= 연산자는 이 값을 db_pw에 할당하면서 동시에 이 값을 반환합니다.
이러한 방식으로 db_pw 변수에 id_pw[0]에 해당하는 값이 할당되고, 동시에 이 값을 조건식에서 사용할 수 있도록 반환됩니다. 코드에서 if db_pw := dict(db).get(id_pw[0])라는 조건식은 db라는 사전에서 id_pw[0]에 해당하는 값이 있는지 확인하고, 있으면 db_pw 변수에 할당합니다. 이렇게 할당된 db_pw 변수는 조건식 내에서 사용되어 로그인 여부를 확인하는 데 활용됩니다.
요약하면, := 연산자는 변수에 값을 할당하면서 동시에 그 값을 반환하는 역할을 합니다. 이것은 특히 조건문에서 변수를 선언하고 값을 할당하고자 할 때 유용합니다.
'공부 > 📝 프로그래머스' 카테고리의 다른 글
치킨 쿠폰 - Python (0) | 2023.09.30 |
---|---|
등수 매기기 - Python (0) | 2023.09.30 |
캐릭터의 좌표 - Python (0) | 2023.09.30 |
외계어 사전 - Python (0) | 2023.09.30 |
문자열 계산하기 - Python (0) | 2023.09.30 |