말랑말랑제리스타일

파이썬으로 백준 for문 문제 풀기 1 본문

프로그래밍/백준 알고리즘

파이썬으로 백준 for문 문제 풀기 1

제리제리 2022. 2. 10. 16:08

백준 알고리즘 for문 문제 2739,10950,8393,15552,2741 답안 예시

백준 알고리즘 for문 문제에 해당하는 2739,10950,8393,15552,2741 문제 파이썬으로 풀어 본 답안 예시입니다.

꼭 똑같이 하라는 법도 없고 더 좋은 방법도 있을 수 있습니다.

백준 2739번 구구단

반응형

백준 2739번은 매우 간단한 구구단 출력 문제이고 range를 이용해서 간단하게 짜보았습니다.

N = int(input())
for i in range(1,10):
    print("{} * {} = {}".format(N,i,N*i))

range(1,10)으로 하면 i를 1부터 9까지 순회시키게 되며 , 출력은 format을 사용해 중괄호 내에 들어갈 변수를 입력해주면서 손쉽게 구구단 N단을 출력할 수 있겠습니다.

백준 10950

백준 알고리즘 10950 문제는 두 수의 합산값을 출력하는 문제로 계산 로직보다는 여러줄로 출력하는 방법을 공부해볼 수 있는 문제입니다.

N = int(input())
i_Arr = []
while N:
    i_Arr.append(list(map(int,input().split())))
    N -= 1
for index,value in enumerate(i_Arr):
    sum = 0
    for j in value:
        sum += j
    print(sum)

여기서 확인할건 split으로 쪼갠 문자열을 int로 mapping해준 뒤 list로 변환해 i_Arr 변수를 2차원 배열 형태로 만들어주는게 되겠습니다.

추가로 while문은 N이 0이 되면 false가 되기 때문에 N을 줄여가면서 입력을 받습니다.

앞서 말한 것과 같이 백준 알고리즘 10950번의 계산 로직 자체는 별다른게 없습니다.

백준 8393 시그마

백준 8393번은 수학에서 시그마에 해당되는 0부터 해당 수까지의 합을 구하는 문제입니다.

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

앞에 2739번 문제에 있는 range만 이해한다면 8393번 문제는 크게 어려울 것이 없습니다.

백준 15552 sys.stdin.readline

반응형

빠른 입출력을 위해 sys.stdin.readline을 이용한 문제로 입력을 제외하고는 10950번 문제와 동일합니다.

15552번 문제 자체에서 파이썬을 사용할 경우 sys.stdin.readline 함수를 이용하라고 명시된 만큼 이 함수를 사용해야하고 input으로 입력받을 시 시간 초과가 나게 됩니다.

import sys
N = int(input())
i_Arr = []
while N:
    i_Arr.append(list(map(int,sys.stdin.readline().split()))) #문제상 sys.stdin.readline 사용하라고 명시되어있음
    N -= 1
for index,value in enumerate(i_Arr):
    sum = 0
    for j in value:
        sum += j
    print(sum)

파이썬에서 sys.stdin.readline 함수를 사용하기 위해서는 import sys 구문이 앞단에서 명시가 되어있어야합니다.

728x90

백준 2741

앞서 풀어본 8393번 시그마 문제에서 합산 기능을 빼고 출력만 하는 문제입니다.

파이썬으로 풀 때 백준 for문 문제중에서는 가장 기초적인 문제이며 아마 앞에 문제 풀어보셨다면 2741번 문제는 상당히 쉽게 풀 수 있을겁니다.

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

range(1,N+1)을 이용해 i를 1부터 N까지 순회시킨다는 점 외에는 2741번 문제에서 특별한 내용은 없습니다.

반응형
Comments