xcc1
백준 단계별 풀이 3단계(파이썬) 본문
백준 단계별 풀이 3단계: for문
2739번 정답
#입력해주는 값을 받고.
number = int(input())
#for문으로 i라는 숫자를 1부터 9까지. format으로 print 해준다....!
for i in range(1,10):
print( "{} * {} = {}". format(number , i ,number * i))
10950번 정답
#t라는 변수에 입력된 값을 받는다.
#처음 주어지는 값은 시행의 횟수를 말한다.
t = int(input())
#for 문으로 받는다. 두번째 주어지는 애들은 나란히 주어지니 전부터
#사용했던 map으로...!!!
for i in range(t):
A, B = map(int, input().split())
print( A + B )
while 문이랑 자꾸 헷갈려서 마지막에 i += 1을 자꾸만 쓴다.
for 문은 in 뒤에 오는 값의 갯수만큼 0부터 시작되니 안써도 된다!!
8393번 정답
#입력된 값을 받는다. total이라는 변수를 저장할 곳으로 사용.
number = int(input())
total = 0
#for문이 작동될 때마다 total이 갱신된다.
for i in range(number + 1) :
total = total + i
#결과에 대한 값을 원함으로 print를 for문 밖으로 빼야한다.
print(total)
만약 print를 for 문 안에 넣어두면 각 시행마다의 결과가 나온다.
콘솔
total = 0 + 0 = 0
total = 0 + 1 = 1
total = 1 + 2 = 3
total = 3 + 3 = 6
이런 식으로 말이다.
15552번 정답
이 문제는 input 대신 sys.stdin.readline 를 사용하는 문제이다.
반복문 안에서 여러 줄을 입력 받다보면 시간이 초과하기 때문에 사용한다고 한다.
아래의 블로그에서 자세한 내용을 볼 수 있다!
#sys.stdin.readline()을 사용하기 위해서 sys 모듈을 가져온다.
import sys
#문제에서 T로 하라고 했으니...
#이부분은 반복문 부분이 아니기 때문에 그냥 input으로 받아도 괜찮다.
T = int(input())
#별 다를 것 없다!
for i in range(T):
A, B = map(int, sys.stdin.readline().split())
print( A + B )
시간 제한이 있는 첫 문제...
2741번 정답
#변수로 횟수를 받는다.
T = int(input())
#range(a , b)는 a에서 b - 1 까지이니,
for i in range(1 , T+1):
print(i)
2742번 정답
T = int(input())
# T값에다가 0부터 4까지 차례로 빼면 된다!
for i in range(T):
print(T - i)
11021번 정답
#반복문으로 받을 것이니 배운 sys.stdin.readline().split())을 사용하자!
import sys
T = int(input())
for i in range(T):
A , B = map(int, sys.stdin.readline().split())
print("Case #{}: {}".format(i+1, A + B))
11022번 정답
아주 유사한 문제!
import sys
T = int(input())
#바꿀 것이 거의 없다!
for i in range(T):
A , B = map(int, sys.stdin.readline().split())
print("Case #{}: {} + {} = {}".format(i+1, A , B, A + B))
2438번 정답
그림 그려보는 건 처음!
T = int(input())
#파이썬만 이렇게 쉽게 문자열에 곱하기를 사용할 수 있는걸까?
for i in range(1, T+1):
print("*" * i)
C/C++ 풀이를 보니 파이썬이 얼마나 간단한 편인지 알게 된다......
https://rightbellboy.tistory.com/63
[백준/BOJ] 2438번 별찍기 - 1 (C/C++)
백준 온라인 저지(BOJ) 2438번 별찍기 - 1 https://www.acmicpc.net/problem/2438 * 사용언어 : C언어, C++ 1. 문제 첫 번째 줄에 1개, 두 번째 줄에 2개, ... n번째 줄에 n개의 별을 출력 2. 풀이 보통 처음 for..
rightbellboy.tistory.com
2439번 정답
T = int(input())
#앞의 것들은 빈칸일테니...
for i in range(1, T+1):
print(" "*(T - i) + "*" * i)
10871번 정답
# 수열 A의 길이를 보아하니, 전처럼 변수로 받을 순 없겠죠?
#그래서 리스트로 저장!
N, X = map(int, input().split())
A = list(map(int, input().split()))
#end는 처음 배웠는데....
for i in range(N):
if A[i] < X:
print(A[i], end=" ")
처음 짠 코드
N, X = map(int, input().split())
for i in range(N):
A = list(map(int, input().split()))
if A[i] < X:
#어떡하지??
당연히 작동이 안되었다!
for 문 안에서 반복이 안되는 것이 문제였는데, 나름 생각해보자면 반복문 한번 시행하고 다시 한 번 하려니 이미 A에 리스트가 있기 때문에 stop된 것이 아닐지?...
이렇게 for문 단계를 모두 풀어보았다. 소요된 시간은 1시간 40분정도!
새롭게 배운 것은! sys 모듈이랑 print( , end = " ") 이다!
'백준' 카테고리의 다른 글
백준 단계별 풀이 6단계 (파이썬) (0) | 2021.09.02 |
---|---|
백준 단계별 풀이 5단계 (파이썬) (0) | 2021.08.31 |
백준 단계별 풀이 4단계 (파이썬) (0) | 2021.08.27 |
백준 단계별 풀이 1단계(파이썬) (0) | 2021.08.25 |
백준 단계별 풀이 2단계(파이썬) (0) | 2021.08.25 |