Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 자바
- 코딩테스트
- 천안방탈출
- BOJ10951
- spting
- 방탈출
- ADsP
- listcomprehension
- SQLD노베이스
- mickito
- SQLD단기합격
- 천안데이트
- 백준
- 데이터분석
- ADsP공부
- 파이썬
- Tableau
- 비전공자SQLD독학
- SQLD공부
- ADsP후기
- Python
- SQLD독학
- 데이터시각화
- 태블로
- 머신러닝
- 벡준1152
- SQL개발자
- sqld
- 자율프로젝트
- 데이터분석준전문가
Archives
- Today
- Total
doistory
[BOJ][Python] 백준10952번: A+B - 5 / break와 print()위치 본문
브론즈5 문제들을 풀면서 기본 문법들의 활용을 알아가고있는 단계 같다.
조건문, 반복문, break등 용법을 알지만, 문제를 풀며 직접 실행하니까 더 이해가 잘 되는것 같다.
역시 실전이다!!
이 문제는 아주 쉬운 문제임에도 불구하고 아주 초보인 나는 틀렸었다.
3일전에 틀렸었는데.... python 문법들을 복습하며 다시 풀어보며 정답을 알게됐다.
예제 출력을 잘 보아아 한다. 0 0이 나온 경우에 출력되는게 없다.
따라서 break와 print()를 적절한 위치에 배치했어야 하는데, 이 과정에서 부족함이 있어서 틀렸었다.
처음엔 배운 문법 내용들을 활용해서 아래처럼 작성했었다.
while True:
a, b = map(int, input().split())
print(a+b)
if a == 0:
break
그러나 이렇게 작성하면,, 왼쪽의 출력 결과처럼
입력의 마지막에 들어온 0 0까지 연산되어 0을 출력하고 반복문을 종료한다.
따라서 print()를 이후에 break 하던 코드를
print() 이전에 break 가 실행되도록 수정해야한다.
그러면 0 0으로 들어온 값을 연산하지 않고 반복문을 종료할 수 있다.
아직 배운 문법 지식들의 파편을 단순히 조합해보며 답을 찾아가는 과정에서 이런 실수들이 발생하고있다.
정답
while True:
a, b = map(int, input().split())
if a == 0:
break
print(a+b)
이렇게되면 0이 아닌 a, b 값이 들어왔을 때 0 0 이 들어왔을 때 반복문이 멈추고 0 을 출력하지 않는다.
'[ 공부중 ] > 코딩테스트' 카테고리의 다른 글
공백없이 쭉 붙어있는 수 자릿수를 분리하여 리스트로 만들기 (0) | 2023.12.31 |
---|---|
[BOJ][Python] 백준2743번: 단어 길이 재기 / Python에서 input() 대신 sys.stdin.readline() 사용시 주의점 (0) | 2023.12.28 |
[BOJ][Python, Java] 백준2739번: 구구단 (0) | 2023.12.15 |