BOJ

백준 파이썬 4299 AFC 윔블던[미해결]

Coding_SJ 2020. 3. 16. 19:59

 

 

 

 

 

 

내 풀이 (틀림)

1
2
3
4
5
6
7
8
9
10
a,b = map(int,input().split())
= (a+b)//2
= (a-b)//2
if a < b or (a+b)%2 != 0:
    print(-1)
if x >= y:
    print(x,y)
elif x < y:
    print(y,x)
 
cs

 

 

 

다른 풀이

1
2
3
4
5
a,b = map(int,input().split())
if((a+b)%2 or b>a): print(-1)
else:
    a,b=(a+b)//2,(a-b)//2
    print(max(a,b),min(a,b))
cs

 

 

왜 내 풀이는 안되는지 이해가 안 됨.

 

일단 if에서 저런식으로 쓸 수 있다는 것도 배웠다. 별거 아니긴한데

if((a+b)%2 or b>a)에서

 

if((a+b)%2) 이렇게만 써도 if(1=True)의 의미를 가진다는거..