BOJ

백준 파이썬 2839 설탕 배달

Coding_SJ 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했냐..