코딩초보 김씨
[BAE/<JOON>] for문 - 1 본문
1. [문제 번호 2739] 구구단
- 문제 : N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.
- 입력 : 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다.
- 출력 : 출력 형식과 같게 N*1부터 N*9까지 출력한다.
- 나의 코드
N = int(input())
for i in range(1, 10):
print (N,'*', i, '=', N*i)
2. [문제 번호 10950] A+B -3
- 문제 : 두 정수 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)
3. [문제 번호 8393] 합
- 문제 : 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
- 입력 : 첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
- 출력 : 각 테스트 케이스마다 A+B를 출력한다.
- 나의 코드
n = int(input())
sum = 0
for i in range(1, n+1):
sum += i
print(sum)
* sum += i 는 sum = sum + i 와 같은 말이다.
4. [문제 번호 15552] 빠른 A+B
- 문제 : 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다.
입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간 초과가 날 수 있다는 점이다.
Python을 사용하고 있다면, input 대신 sys.stdin.readline을 사용할 수 있다.
- 입력 : 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다.
다음 T줄에는 각각 두 정수 A와 B가 주어진다.
A와 B는 1 이상, 1,000 이하이다.
- 출력 : 각 테스트케이스마다 A+B를 한 줄에 하나씩 순서대로 출력한다.
- 나의 코드
# input함수를 사용한 코드
T = int(input())
for i in range(T):
a,b = map(int, input().split())
print(a+b)
* 문제에서 주어졌듯이, input함수를 사용하여 입력받는 코드를 입력하니 시간 초과로 실패하였다.
이럴 때는 input 함수 자리에 sys.stdin.readline 함수를 사용하면 시간을 줄일 수 있다.
그런데 내 컴퓨터에서는 변환하면 자꾸 에러가 난다.
다른 사람들의 잘 되는 코드를 복붙해서 돌려봐도 안된다!!! 뭘까??
5. [문제 번호 2741] N 찍기
- 문제 : 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.
- 입력 : 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.
- 출력 : 첫째 줄부터 N번째 줄 까지 차례대로 출력한다.
- 나의 코드
N = int(input())
for i in range (1, N+1):
print(i)
* range 범위 설정 신경쓰기!!
백준 코딩 문제를 풀면서 느낀 점이 있다.
학원에서 강사 선생님이 외울 필요 없다고, 필요한 상황에서 필요한 코드를 잘 찾아 쓰면 된다고 했는데,
정말로 내가 모르는 부분이 있더라도 검색해서 잘 찾아서 입력하면 코드가 돌아간다!
백준 문제를 푸는 동안, 답안지는 검색을 안 하고 스스로 풀려고 노력해야겠다
어렵겠지만, 화이팅!!!
'코딩테스트 > 백준' 카테고리의 다른 글
[BAE/<JOON>] for문 - 2 (0) | 2021.05.16 |
---|---|
[BAE/<JOON>] if문 - 총 5문제 (0) | 2021.05.16 |