2022. 11. 29. 21:44ㆍPython/Algorithm
오늘은 내배캠에서 알고리즘 타임어택을 했는데
총 4문제가 있었다.
4문제중 4문제를 다 풀긴 했는데
마지막 문제를 구글링하며 어떻게 풀어야 하는지 작성해놓고도 이해가 안가서 Thonny를 돌려보았다.
Thonny를 돌려보았더니 이해가 바로 갔는데 까먹을까봐
이를 기록해 남겨두고자 글을 쓰게되었다.
각도기
옷가게 할인받기
369게임
로그인 성공?
https://github.com/wth2052/algorithm_taehyeon
def solution(id_pw, db):
answer = ''
for i in db:
if id_pw[0] in i:
if id_pw[1] == i[1]:
return 'login'
else:
return 'wrong pw'
return 'fail'
solution(["meosseugi", "1234"],[["rardss", "123"], ["yyoom", "1234"], ["meosseugi", "1234"]])
solution(["programmer01", "15789"],[["programmer02", "111111"], ["programmer00", "134"], ["programmer01", "1145"]])
solution(["rabbit04", "98761"], [["jaja11", "98761"], ["krong0313", "29440"], ["rabbit00", "111333"]])
solution(["meosseugi", "1234"],[["rardss", "123"], ["yyoom", "1234"], ["meosseugi", "1234"]])
첫번째 바퀴
for문은 i를 변수로 db 범위만큼 도는데
이때 id_pw[0]번째 요소(meosseugi)가 i = ['rardss', '123] 안에 없으므로 False.
두번째 바퀴
id_pw[0]번째 요소(meosseugi)가 i = ['yyoom', '1234'] 안에 없으므로 False.
세번째 바퀴
id_pw[0]번째 요소(meosseugi)가 i = ['meosseugi', '1234']에 있으므로 True.
다음 if문으로 들어가 id_pw[1]번째 요소 (1234)와 현재 for문에 들어가있는 i의 [1]번째 요소 (1234)를 비교한다.
True 이므로 'login' 메시지를 return 한다.
solution(["programmer01", "15789"],[["programmer02", "111111"], ["programmer00", "134"], ["programmer01", "1145"]])
첫번째 바퀴
for문은 i를 변수로 db 범위만큼 도는데
이때 id_pw[0]번째 요소(programmer01)가 i = ['programmer02', '111111'] 안에 없으므로 False.
두번째 바퀴
id_pw[0]번째 요소(programmer01)가 i = ['programmer00', '134'] 안에 없으므로 False.
세번째 바퀴
id_pw[0]번째 요소(programmer01)가 i = ['programmer01', '1145']에 있으므로 True.
다음 if문으로 넘어가 id_pw[1]번째 요소 (15789)와 현재 for문에 들어가있는 i의 [1]번째 요소 (1145)를 비교한다.
False 이므로 else문으로 넘어가 'wrong pw' 메시지를 return 한다.
첫번째 바퀴
for문은 i를 변수로 db 범위만큼 도는데
이때 id_pw[0]번째 요소(programmer01)가 i = ['programmer02', '111111'] 안에 없으므로 False.
두번째 바퀴
id_pw[0]번째 요소(programmer01)가 i = ['programmer00', '134'] 안에 없으므로 False.
세번째 바퀴
solution(["rabbit04", "98761"], [["jaja11", "98761"], ["krong0313", "29440"], ["rabbit00", "111333"]])
첫번째 바퀴
for문은 i를 변수로 db 범위만큼 도는데
이때 id_pw[0]번째 요소(rabbit04)가 i = ['jaja11', '98761'] 안에 없으므로 False.
두번째 바퀴
id_pw[0]번째 요소(rabbit04)가 i = ['krong0313', '29440'] 안에 없으므로 False.
세번째 바퀴
id_pw[0]번째 요소(rabbit04)가 i = ['rabbit00', '111333'] 안에 없으므로 False.
이때 if, else 조건 어느것에도 해당하지 않으니 if문을 빠져나가 'fail' 값을 리턴후 종료된다.
쓰고나니 머릿속에 들어온다. 어떻게 풀렸는지... 역시 모든지 써봐야 아는거 같다.
'Python > Algorithm' 카테고리의 다른 글
프로그래머스 OX 퀴즈 (0) | 2022.12.19 |
---|---|
문자열 뒤집기 (0) | 2022.12.18 |
배열 n개로 쪼개기 (0) | 2022.12.18 |
Python - Algorithm 코드 전개순서 최댓값 찾기, 알파벳 빈도수 찾기 (0) | 2022.11.22 |
이진검색, 선형검색 알고리즘(Binary Search,Linear Search) (0) | 2022.11.22 |