본문 바로가기

Algorithm/BOJ

[기초] 04. while문

 

 

📪 while문

 

while문 단계

입력이 끝날 때까지 A+B를 출력하는 문제. EOF에 대해 알아 보세요.

www.acmicpc.net

 


 

 

📌 문제1. A+B-5 [10952번]

import sys

while True:
    result = eval('+'.join(sys.stdin.readline().split()))
    if result != 0:
        print(result)
    else:
        break

 

  ※ 다른 풀이 보기

더보기
import sys

while True:
    A, B = map(int, sys.stdin.readline().split())
    if A == 0 and B == 0:
        break
    print(A + B)

 

 

 

📌 문제2. A+B-4 [10951번]

while True:
    try:
        A, B = map(int, input().split())
        print(A + B)
    except:
        break

 EOF(End Of File)의 경우, 파이썬에서는 'try-except'문으로 구현한다.

 

  다른 풀이 보기

더보기
import sys
for i in sys.stdin:
    a, b = map(int,i.split(" "))
    print(a+b)

 단, 엔터시 에러 발생! :(

 

 

 

📌 문제3. 더하기 사이클 [1110번]

inp = int(input())
n = inp
count = 0

while True:
    count += 1
    r = (n % 10)
    s = ((n // 10) + r) % 10
    new = r * 10 + s
    if new == inp:
        print(count)
        break
    else:
        n = new

문자열로 input을 받아서 인덱스로 처리가 가능하다!

→ 허나, 이경우 한자리 숫자일 경우 예외처리를 해주어야 하므로 귀찮기 때문에 숫자로 걍 하자!

 

 

 


 

 

🔔 중요개념정리

    1. True O. true X.
    2. EOF 구현
      → while & try-except
      → for i in sys.stdin
         (단, 엔터시 에러 有)

 

728x90

'Algorithm > BOJ' 카테고리의 다른 글

[기초] 06. 함수  (0) 2022.02.21
[기초] 05. 1차원 배열  (0) 2022.02.07
[기초] 03. for문  (0) 2022.02.07
[기초] 02. If문  (0) 2022.02.06
[기초] 01. 입출력과 사칙연산  (0) 2022.02.04