부트캠프(13일차)

성준혁·2022년 11월 16일
0
post-thumbnail

오늘은 부트캠프 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"

0개의 댓글