[BaekJoon/Python] for문 : 2739, 10950, 8393, 15552, 2741, 2742

GURI·2021년 10월 17일
0

BaekJoon/Python

목록 보기
2/7
post-thumbnail

백준 단계 3, for문

#2739 구구단

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

👩🏻‍💻 My Code :

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

#10950 A+B - 3

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

👩🏻‍💻 My Code :

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

#8393 합

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

👩🏻‍💻 My Code :

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

#15552 빠른 A+B

첫 줄에 테스트케이스의 개수 T가 주어진다.
각 테스트케이스마다 A+B를 한 줄에 하나씩 순서대로 출력한다.

import sys

t = int(input())
for i in range(t):
        A, B = map(int, sys.stdin.readline().split())
        print(A, B)

💥 sys.stdin.readline( ) ?

이번 백준 문제에서는 input 대신 sys.stdin.readline을 사용하라고 지시했다.
sys.stdin.readline은 무엇일까
코랩에서 사용해봤지만, 계속 오류가 난다 코랩에서는 지원을 안하는 것 같다

우선, sys.stdin.readline을 사용하려면 import sys를 해야 한다.

  • 계속 쓰던 Input 대신 이걸 쓰라는 이유는 무엇일까?
    • input으로 값을 받는 것보다 빠르기 때문이다 !
    • input( ) 내장 함수는 입력받은 값에 개행 문자(\n)를 제거해서 리턴한다.
    • but sys.stdin.readline는 제거하지 않고 개행 문자(\n)를 모두 포함해서 리턴한다.
      그래서 sys.stdin.readline를 쓰는 이 문제의 제목이 "빠른 A+B"인 것이다..!!

#2741 N 찍기

👩🏻‍💻 My Code :

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

#2742 기찍 N

👩🏻‍💻 My Code :

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

or

n = int(input())
for i in range(n, 0, -1):
    print(i)
profile
Done is better than Perfect.

0개의 댓글