Programming/알고리즘

[프로그래머스] 로그인 성공? - Python

해치 2023. 5. 9. 23:55
728x90

1. 문제

https://school.programmers.co.kr/learn/courses/30/lessons/120883

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

2. 제한사항

3. Python Code

def solution(id_pw, db):
    answer = 'fail'
    for i in db:
        if i[0] == id_pw[0]:
            if i[1] ==id_pw[1]:
                answer =  'login'
            else:
                answer ='wrong pw'
    return answer

 

 

그리고 다른사람 풀이를 보다가 신기한걸 찾음

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"

:=(walrus operator) 연산자를 처음 봤다. 한국어로는 바다코끼리 연산자라고 한다.

사용법은 

'변수' := '표현식'

변수 할당과 반환을 동시해 해주는 연산자다.

 

위의 코드 작성하신 분이 리스트의 값들이 key/value 쌍을 맞출 수 있게 구성되어 있으면 dictionary 형태로 변경이 가능하다고 설명해주셨다.