https://www.acmicpc.net/step/2
while문 단계
입력이 끝날 때까지 A+B를 출력하는 문제. EOF에 대해 알아 보세요.
www.acmicpc.net
3단계는 while문 문제들이였다. 3문제밖에 없어지만 한 번도 생각 못했던 부분과 복잡한 상황을 코드로 정리 해야 하는게 처음이라 시간이 쫌 걸렸다.
import sys
A, B = sys.stdin.readline().split()
A = int(A)
B = int(B)
while True:
print(A + B)
A, B = sys.stdin.readline().split()
A = int(A)
B = int(B)
if-else형태로 작성 했는데 런타임에러가 발생해서 아무리 고민을 해봐도 모르겠어서 찾아봤더니 a, b에 입력이 들어오지 않았을 때 예외처리가 되지 않아 이 문제에선 꼭 예외처리를 해줘야 한다고 나와있었다.
import sys
while True:
try:
A, B = sys.stdin.readline().split()
A = int(A)
B = int(B)
print(A + B)
except:
break
그래서 try-except문으로 작성했더니 맞았다.
import sys
N = sys.stdin.readline()
N = int(N)
count = 0
new = 0
out = N
while True:
if N < 10:
add = 0 + N
b = add
else:
a = N // 10
b = N % 10
add = a + b
y = add % 10
new = b*10 + y
count = count + 1
if out == new:
break
N = new
print(count)
처음으로 복잡한 문제를 풀어봤다. 우선 글로 하고 싶은 부분을 적은 후 코드를 작성했다. 계속 오류가 나서 디버깅을 통해서 어떤 부분이 문제인지 찾아서 수정하면서 코드를 작성했다. 제일 크게 하는 실수가 변수들을 어떤 곳에서 빼먹거나 다른 변수를 사용해야 할 상황에서 같은 변수를 사용하는 것이다. 한 줄씩 코드 작성후 전체적으로 시물레이션 돌려보는 습관과 다양한 테스트 케이스를 적용해 보는 습관이 필요하다.
'문제 > 백준' 카테고리의 다른 글
[백준 : PYTHON] 6단계 함수 (0) | 2021.02.09 |
---|---|
[백준 : PYTHON] 5단계 1차원 배열 (0) | 2021.02.02 |
[백준 : PYTHON] 3단계 for문 (0) | 2021.01.29 |
[백준 : PYTHON] 2단계 if문 (0) | 2021.01.27 |
[백준 : PYTHON] 1단계 입출력과 사칙연산 (0) | 2021.01.26 |