ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 파이썬 2839 설탕 배달
    BOJ 2020. 3. 21. 03:38

     

     

     

     

     

     

     

     

     

    내 풀이

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    import sys
    = int(input())
    = 0
     
    if a in [4,7]:
        print(-1)
        sys.exit(0)
     
    if a in [3,6,9,12]:
        print(a//3)
        sys.exit(0)
     
    if a == 11:
        print(3)
        sys.exit(0)
     
    if a == 14:
        print(4)
        sys.exit(0)
     
    while 1:
        b+=1
        if 5*b>a:
            b = b-1
            break
     
    if (a-5*b)%3 == 0:
        c = (a-5*b)//3
        print(b+c)
     
    elif (a-5*b)%3 != 0:
        while 1:
            b = b-1
            if (a-5*b)%3 == 0:
                c = (a-5*b)//3
                print(b+c)
                break
    cs

     

    15부터는 문제없이 다 될걸 예상하고

    문제되는게 3~14라는게 훤히 보여서....

     

    그냥 3~14인 케이스만 손으로 일일이 노가다하면서 걸러줬다.

    사실상 이렇게하면 머리쓴게아니라 노가다한거라 실력에 도움은 안될거라는걸 알면서도..

    정답률이 낮은문항이라 꼭 맞추고싶었다(...) ㅠㅠ

     

    sys.exit(0)을 처음으로 쓴 문제.

     

     

     

    고인물식 숏코딩

     

    1
    n=int(input());print(-1if n in [1,2,4,7else n//5+n%5-n%5//3*2)
    cs

    ... 한줄풀이가 된다는게 정말 놀랍다

     

    일단 그냥 이분도 1,2,4,7은 거르고 시작하셨는데

     

    이걸보니까 진짜 4,7만 걸러주면 된다는 생각이 드네.. 왜 3~14했냐..

     

     

    'BOJ' 카테고리의 다른 글

    for문으로 피보나치 구현  (0) 2020.03.22
    백준 파이썬 4673 셀프넘버  (0) 2020.03.21
    백준 파이썬 2309 일곱 난쟁이(random함수)  (0) 2020.03.21
    백준 파이썬 1193 분수찾기  (0) 2020.03.21
    백준 파이썬 2292 벌집  (0) 2020.03.20

    댓글

Designed by Tistory.