오늘은 부트캠프 13일차이다. 오늘 오전에는 2시간 내에 알고리즘을 구현하는 것을 했다. 총 4문제 중 3문제 골라서 풀어도 되고 다 풀어서 구글 폼으로 제출해도 되지만 4문제 중 3문제를 완벽하게 풀어냈고, 1문제만 반만 풀었다고 할 수 있겠다. 이유는 어려운 문제라기 보다는 처음 테스트 구간은 통과했지만 그 다음 제출하고 난 뒤에 테스트 총 8번 중 4번만 통하여 정확성 부분에서 통과하지 못했다. 다음에는 이런 디테일한 부분까지 신경쓰면서 풀어야 겠다는 생각이 들었다.
오늘 배운 것
1. 각도기 -각도기 문제는 if~else 문에 대해 알고 있어서 쉽게 풀 수 있었다. def solution(angle): if 0 < angle < 90: return 1 elif angle == 90: return 2 elif 90 < angle < 180: return 3 else: return 4 2. 할인율 -할인율 문제에서는 계산을 하다 int를 사용하여 return 값을 받고 실수를 했던 것이 elif까지만 하고 else를 안 한 상태에서 계속 제출하다보니 실패했는데 가장 기본적이기에 꼭 생각하고 있어야 한다. def solution(price): if price>=500000: return int(price*0.8) elif price>=300000: return int(price*0.9) elif price>=100000: return int(price*0.95) else : return price 3. 369게임 -369게임에서는 제울 중요하다고 생각한 것이 2번째 줄인데, 내가 알고 있는 지식이 맞다면 map을 사용해서 정수를 문자로 바꾸는 것이 가장 중요한 부분이라고 할 수 있다. def solution(order): a = list(map(int, str(order))) count = 0 for i in a: if i == 3 or i == 6 or i == 9: count += 1 return count 4. 로그인 성공 -로그인 성공 문제에서는 id_Pw와 db를 비교하여 각 조건문에 해당되는 것을 출력하는 문제였는데 여기서 정확성이 50% 나와서 못 푼 문제이다. 밑에 개선된 부분에서 반복문에 대한 생각과 if 중첩에 대해 생각을 했다면 위 보다는 확실히 코드도 간결하다라는 것을 느꼈다. id_pw = ["vxcv", "121231234"] db = [["rardss", "123"], ["yyoom", "1234"], ["meosseugi", "1234"]] if id_pw == db[0] or id_pw == db[1] or id_pw == db[2]: print("login") elif id_pw[1] == db[0][1] or id_pw[1] == db[1][1] or id_pw[1] == db[2][1]: print("wrong pw") else : print("fail") -------------------------- 개선된 부분----------------------------------- # for문을 통한 비교 def solution(id_pw, db): for i in db: # id 여부 확인 if id_pw[0] in i: if id_pw[1] == i[1]: return "login" else: return "wrong pw" return "fail"