카테고리 없음

백준 파이썬 10952 A+B - 5

Coding_SJ 2020. 3. 17. 19:47

 

 

 

 

 

 

 

 

내 풀이

1
2
3
4
5
6
while True:
    a,b = map(int,input().split())
    if not (a==0 and b==0):
        print(a+b)
    else:
        break
cs

if not이 되는거 처음 알았다. 되게 유용할 듯 싶은데 딱 한가지 케이스만 제거하고 싶을 떄 if not 쓰면 개꿀일듯.

 

 

 

다른 풀이

1
2
3
4
while 1:
    a,b = map(int,input().split())
    if (a+b) == 0: break
    print(a+b)
cs

 

그냥 내 풀이에서 if랑 else 순서만 바꾼거긴한데, 난 아직 이 쪽 표현법에는 익숙하지 못하다.

 

일단 True를 1로 간편하게 표현이 가능하다는 점,

 

그리고 if ( ): break <- 이 표현 자체가, ( )안의 경우만 바로 제거해버리겠다는 뜻이고

 

이렇게 쓰면 else를 생략해도 된다. (써도 되고 안써도 됨.)

 

if ( ): break 가 나오면 else가 숨어져 있다고 생각하면 된다. (위에서부터 아래로 읽어져 내려오면서, 걸러지기 때문)

 

 

결국 요약하면 if not - else를 쓰냐, 아니면 if ( ): break를 쓰냐인데, 아무래도 후자가 좀 더 간결하다.