ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 파이썬 10952 A+B - 5
    카테고리 없음 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를 쓰냐인데, 아무래도 후자가 좀 더 간결하다.

     

    댓글

Designed by Tistory.