Date:     Updated:

카테고리:

태그: , ,


💡 백준(Baekjoon Online Judge)은 온라인으로 프로그래밍 문제를 풀고 채점받을 수 있는 웹사이트입니다.
백준 ‘단계별로 풀어보기’ 문제풀이가 아래에 수록되었습니다.


3단계 for문

단계 문제 번호 제목 정답률
1 2739 구구단 51.384%
2 10950 A+B -3 58.280%
3 8393 65.849%
4 15552 빠른 A+B 45.859%
5 2741 N 찍기 54.887%
6 2742 기찍 N 68.262%
7 11021 A+B -7 50.413%
8 11022 A+B -8 69.679%
9 2438 별 찍기 -1 62.553%
10 2439 별 찍기 -2 56.706%
11 10871 X보다 작은 수 54.861%


Q1. 구구단(2739)

❓ 문제

N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다.

✒️ 입력

첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다.

💻 출력

출력형식과 같게 N1부터 N9까지 출력한다.

💯 답(정답률: 51.384%)

n=int(input())
for i in range(1,10):
    print(n,'*',i,'=',n*i)


Q2. A+B -3(10950)

❓ 문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

✒️ 입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

💻 출력

각 테스트 케이스마다 A+B를 출력한다.

💯 답(정답률: 58.283%)

a=int(input())
for i in range(a):
    b,c=map(int,input().split())
    print(b+c)


Q3. 합(8393)

❓ 문제

n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.

✒️ 입력

첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다.

💻 출력

1부터 n까지 합을 출력한다.

💯 답(정답률: 65.849%)

n=int(input())
result=0
for i in range(1,n+1):
    result+=i
print(result)


Q4. 빠른 A+B(15552)

❓ 문제

본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다.

Python을 사용하고 있다면, input 대신 sys.stdin.readline을 사용할 수 있다. 단, 이때는 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우 .rstrip()을 추가로 해 주는 것이 좋다.

또한 입력과 출력 스트림은 별개이므로, 테스트케이스를 전부 입력받아서 저장한 뒤 전부 출력할 필요는 없다. 테스트케이스를 하나 받은 뒤 하나 출력해도 된다.

✒️ 입력

첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다.

💻 출력

각 테스트케이스마다 A+B를 한 줄에 하나씩 순서대로 출력한다.

💯 답(정답률: 45.865%)

import sys
t=int(input())
for i in range(t):
    a,b=map(int,sys.stdin.readline().split())
    print(a+b)


Q5. N찍기(2741)

❓ 문제

자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.

✒️ 입력

첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.

💻 출력

첫째 줄부터 N번째 줄 까지 차례대로 출력한다.

💯 답(정답률: 54.886%)

n=int(input())
for i in range(1,n+1):
    print(i)


Q6. 기찍N(2742)

❓ 문제

자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.

✒️ 입력

첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.

💻 출력

첫째 줄부터 N번째 줄 까지 차례대로 출력한다.

💯 답(정답률: 68.262%)

n=int(input())
for i in range(n):
    print(n-i)


Q7. A+B -7(11021)

❓ 문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

✒️ 입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

💻 출력

각 테스트 케이스마다 “Case #x: “를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다.

💯 답(정답률: 50.414%)

import sys
t=int(input())
for i in range(1,t+1):
    a,b=map(int,sys.stdin.readline().split())
    print("Case #{}: {}".format(i,a+b))


Q8. A+B -8(11022)

❓ 문제

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

✒️ 입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)

💻 출력

각 테스트 케이스마다 “Case #x: A + B = C” 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다.

💯 답(정답률: 69.679%)

import sys
t=int(input())
for i in range(1,t+1):
    a,b=map(int,sys.stdin.readline().split())
    print("Case #{}: {} + {} = {}".format(i,a,b,a+b))


Q9. 별 찍기 -1(2438)

❓ 문제

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

✒️ 입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

💻 출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

💯 답(정답률: 62.554%)

n=int(input())
for i in range(1,n+1):
    print("*"*i)


Q10. 별 찍기 -2(2439)

❓ 문제

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

✒️ 입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

💻 출력

첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

💯 답(정답률: 56.706%)

n=int(input())
for i in range(1,n+1):
    print(" "*(n-i)+"*"*i) #공백을 곱하면 됨!


Q11. X보다 작은 수(10871)

❓ 문제

정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.

✒️ 입력

첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)

둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.

💻 출력

X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다.

💯 답(정답률: 54.861%)

n,x=map(int,input().split())
num=list(map(int,input().split()))

for i in range(n):
    if num[i]<x:
        print(num[i], end=" ") #end=" "은 공백을 남기고 그대로 줄을 이어 씀을 의미함!