본문 바로가기

Algorithm/Implementation

(Python3) - 프로그래머스(코딩테스트 입문) : 로그인 성공?

반응형

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

id, pw가 같은지를 저장할 hash_map is_same을 선언 후 각 key, value를 저장해줍니다.

📔 풀이과정

db의 원소를 순회하며 다음을 진행합니다.1. id, pw가 같으면 is_same의  key인 id, pw의 value를 모두 True로 갱신합니다.

 

2. id만 같다면 id는 True로 갱신합니다.

 

* id와 pw에 대한 boolean변수를 따로 두고 갱신하게되면 틀리게 됩니다. 모든 db를 확인하면서 id만 같은경우 혹은 pw만 같은경우가 존재할 수 있기 때문입니다.

📔 정답 출력 | 반환

is_same을 확인하며 맞는 경우에 대해 정답 문자열을 반환합니다.


📕 Code

📔 Python3

def solution(id_pw, db):
    is_same = {'id': False, 'pw': False}
    for i in range(0, len(db)):
        data = db[i]
        
        if id_pw[0] == data[0] and id_pw[1] == data[1]:
            is_same['id'] = True
            is_same['pw'] = True
            break
        if id_pw[0] == data[0] and id_pw[1] != data[1]:
            is_same['id'] = True
            break
        
    if is_same['id'] and is_same['pw']:
        return 'login'
    if is_same['id'] and not is_same['pw']:
        return 'wrong pw'
    return 'fail'

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.