1. 10950번
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
각 테스트 케이스마다 A+B를 출력한다.
T = int(input())
for i in range(T):
A, B = map(int, input().split())
print(A+B)
코드 설명
첫째 줄에 테스트 케이스 개수 T가 주어진다는 조건이 있으므로 input() 함수와 int() 함수를 사용해 T를 입력받는다.
for 반복문을 통해 변수 i를 T번 만큼 반복시키면서 A, B를 입력받는다. 이 때 i는 역할이 없는 변수여서 _로 표현해도 된다. 입력받은 문자열 데이터를 split()를 통해 공백을 기준으로 분할하고, int() 함수를 사용해 정수형 데이터로 변환한다. 여러 항목에 동시에 함수를 적용시키는 map() 함수는 굉장히 자주 등장한다. for문의 마지막에서 입력받은 A와 B를 더한 값을 출력한다.
이 문제의 포인트는 A, B를 for 반복문 안에서 입력받는 것이었다. 만약 다음과 같이 A, B를 반복문 밖에서 입력받을 경우, for문 안의 A+B는 T번 만큼 반복되지만 A와 B가 T번만큼 입력되지 않는다.
T = int(input())
A, B = map(int, input().split())
for i in range(T):
i = A+B
print(i)
2. 8393번
문제
n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다.
출력
1부터 n까지 합을 출력한다.

n = int(input())
a = 0
for i in range(1, n+1):
a += i
print(a)
코드 설명
input()과 int 함수로 입력받은 n에 대해 1부터 n까지 반복문을 사용해 더한다.
for 변수 in range()에서 range() 안에 들어가는 값은 순서대로 range(시작값, 종료값, 간격)이다. 주의할 점은 시작값과 종료값을 지정했을 때 종료값은 범위에 포함되지 않는단 점이다. 따라서 1부터 n까지의 합을 구하려면 range(1, n+1)로 작성해야 한다.
a += i 는 a = a+i 를 의미한다. 미리 정수형 데이터 0을 대입해서 선언해둔 변수 a에 range 안에서 1부터 n+1까지 i가 생성되고, for 문 안에서 반복되며 더해진다.
'코딩 테스트' 카테고리의 다른 글
백준 10807, 10871 파이썬 1차원 배열 풀이 (0) | 2024.03.28 |
---|---|
백준 25304, 25314 풀이 파이썬 반복문 (0) | 2024.03.25 |
백준 2480 풀이 파이썬 조건문 (0) | 2024.03.19 |
백준 2884, 2525 풀이 파이썬 조건문 (1) | 2024.03.18 |
백준허브 커밋 오류 (0) | 2024.03.17 |