티스토리 뷰
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
각 테스트 케이스마다 A+B를 출력한다.
예제 입력
5
1 1
2 3
3 4
9 8
5 2
예제 출력
2
5
7
17
7
해설
사실 이 문제의 중심 로직은 간단해서 따로 포스팅하지 않아도 될 정도다. 횟수를 받아서 for 문의 반복 횟수를 제어할 수 있으면 그만이다. 그런데 이렇게 따로 포스팅을 하게 된 이유는 내 자신이 이 문제에서 미궁에 빠져 버리고 말았기 때문이다. 과연 이 문제의 출력 형식을 맞추는 게 초급 과정의 문제인가 하는 부분 때문이었다. 내가 이해한 바로는 테스트 횟수를 입력받고 그 횟수만큰 연산할 수들을 입력받는다. 그 후에 일괄해서 연산값을 출력해야 한다. 이런 출력을 위해서는 연산할 수를 저장할 메모리를 할당해야 한다. 이 경우에는 int형 배열을 선언해 주어야 할 것이다. 그런데 테스트 횟수를 사용자에게 입력받으므로 이 메모리의 길이가 동적으로 결정되어야 한다. 즉 malloc() 함수를 써야 하는 문제가 된다. 구현 방법은 있지만 이게 초급자들에게 해당될 방법인가 하는 문제 때문에 고민에 빠지고 말았다. 혹시 이 방법 외에 초급자들이 간단하게 할 수 있는 방법이 있는데 내가 아직 모르고 있었던 것일까? c 초급 문법도 제대로 떼지 못한 것인가! 아닐 거 같은데… 아닐 거 같은데… * 무한. 이런 자괴감에서 휩싸이기 직전 우선 입출력 코드라도 완성해 놓을 요량으로 입력 후 바로 출력이 이루어지도록 코드를 짜서 제출을 했다. 그런데 이럴 수가! 맞았습니다!!가 뜨는 것이다. 내 고민과 자괴감의 보상은 어디에서 찾아야 하는 것일까. 허무함에 서둘러 포스팅을 마친다.
소스 코드: c
#include <stdio.h>
int main()
{
int times;
int i;
int first_num, second_num;
scanf("%d", ×);
for (i = 0; i < times; i++)
{
scanf("%d %d", &first_num, &second_num);
printf("%d\n", first_num + second_num);
}
return 0;
}
소스 코드: python
times = int(input())
for i in range(0, times):
first_num, sec_num = map(int, input().split())
print(first_num + sec_num)
파이썬에서 for 문의 사용법은 c와 조금 다르다는 점을 놓치지 말자. 일정한 횟수를 반복하기 위해서 시작값과 끝값을 range()
를 이용하고 있다.
'Python > 심사문제' 카테고리의 다른 글
백준(BAEKJOON): 최소, 최대(10818번) (0) | 2020.01.03 |
---|---|
백준(BAEKJOON): 더하기 사이클(1110번) (0) | 2019.12.20 |
백준(BAEKJOON): 알람 시계(2884번) (0) | 2019.12.15 |
백준(BAEKJOON): 세 수, 두 번째로 큰 수 출력하기(10817번) (0) | 2019.12.12 |
백준(BAEKJOON): 윤년 확인하기(2753번) (0) | 2019.12.12 |
- Total
- Today
- Yesterday
- 리규찬
- 북한말
- 유래
- QGridLayout
- django
- BOJ
- Python
- QLineEdit
- words
- QtDesigner
- judge
- Mac
- 백준
- QComboBox
- Tistory
- setText()
- baekjoon
- 소수
- 어원
- word
- NK
- 리찬규
- QLabel
- books
- python3
- C
- PyQt5
- MacOS
- locallibrary
- tips
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |