Algorithm/백준 단계별로 풀어보기

[백준 알고리즘/Python] for문

베이비코더 2021. 5. 25. 13:51
반응형
1단계 2739번 구구단
N = int(input())

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

for i in range(1,10):
    print("%d * %d = %d" %(N,i,N*i))

print()를 두 가지 방법으로 출력해봤습니당

 

2단계 10950번 A+B -3
T = int(input())

for i in range(T):
    A,B = input().split()
    A = int(A)
    B = int(B)
    print(A+B)

 

3단계 8393번 합
n = int(input())
result = 0

for i in range(1, n+1):
    result += i

print(result)

 

4단계 15552번 빠른 A+B
import sys

T = int(sys.stdin.readline())

for i in range (T):
    A,B = sys.stdin.readline().split()
    A = int(A)
    B = int(B)
    print(A+B)

지금까지 문자를 입력받을 때 input()을 사용했다.

이 문제에서 Python을 사용할 경우 sys.stdin.readline() 사용하여 시간 초과가 발생하지 않게 함을 권장했다.

 

input()과 입력 처리방식이 다르기 때문에 for문과 같이 반복적이고 대량의 입력을 받는 경우 효율성을 위해 sys.stdin.readline() 쓰는 것이 코딩 테스트를 준비하는 데에도 도움이 될 것 같다.

 

5단계 2741번 N 찍기
N = int(input())

for i in range(1,N+1):
    print(i)

 

6단계 2472번 기찍 N
N = int(input())

for i in range(N, 0, -1):
    print(i)

 

7단계 11021번 A+B -7
import sys

T = int(sys.stdin.readline())

for i in range(1, T+1):
    A,B = sys.stdin.readline().split()
    A = int(A)
    B = int(B)
    print("Case #%d: %d" %(i, A+B))

 

8단계 11022번 A+B -8
import sys

T = int(sys.stdin.readline())

for i in range(1, T+1):
    A,B = sys.stdin.readline().split()
    A = int(A)
    B = int(B)
    print("Case #%d: %d + %d = %d" %(i, A, B, A+B))

 

9단계 2438번 별 찍기 -1
N = int(input())

for i in range(N):
    for j in range(0, i+1):
        print('*', end="")
    print()

별 찍기 첫 for문은 줄 바꿈을 담당하고,

안에 있는 for문은 *을 찍는 부분이기 때문에 end=""를 넣어주어서 print()가 \n 하지 않도록 해준다.

 

10단계 2439번 별 찍기 -2
N = int(input())

for i in range(N):
    for j in range(N-1, i, -1):
        print(" ", end="")
    for k in range(0, i+1):
        print("*", end="")
    print()

 

11단계 10871번 X보다 작은 수
N, X = map(int, input().split())

listA = list(map(int, input().split()))

for i in listA:
    if i < X:
        print(i, end=" ")

input()으로 입력받은 문자열을 split()로 공백 기준으로 자르고 정수형으로 치환하여 N, X 변수에 담는다.

다른 문자 기준으로 잘라야 되는 경우 split(',')처럼 써주면 , 기준으로 문자열을 자른다.

 

이렇게 자른 문자열을 리스트 형태로 받아야 되는 경우 앞에 위 코드처럼 앞에 list를 붙여준다.

따라서 listA는 N개의 숫자를 공백 기준으로 잘라 정수형으로 치환하여 리스트에 담은 것이다.

반응형