728x90

백준 단계별로 풀어보기 - for문 문제 5개 python으로 풀기


11021 - A + B - 7

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

n = int(input())
result = []
for i in range(n):
    a,b = map(int, input().split())
    result.append(a+b)
for j in range(n):
  print("Case #{0}: {1}".format(j+1, result[j]))

풀이 : n개의 케이스를 입력받고 모든 각 케이스에 따른 A, B를 모두 입력받은 뒤 결과값을 list에 저장하고 출력 때 순서대로 사용한다.

p.s) 결과를 출력해 줄 때

print("Case #",j+1,":",result[j])

위와 같이 적어줄 경우 결과 값이 Case # x : a+b 와 같이 중간에 띄어쓰기가 추가되어 출력되기 때문에 오답으로 처리된다.

(원하는 출력값 = Case #x: a+b)


11022 - A + B - 8

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

for i in range(int(input())):
    a, b = map(int, input().split())
    print("Case #{0}: {1} + {2} = {3}".format(i+1, a, b, a+b))

풀이 : 11021 문제를 푼 후 숏코딩을 보고 개인적으로 짠 코드이며, 11021에서 변수 n을 삭제한것, result 리스트를 삭제한 것 외에는 별 차이점이 없음


2438 - 별 찍기 - 1

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

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

풀이 : print 함수에서 문자열 * 숫자 = 문자열 반복 / print("str" * 2) >> strstr


2439 - 별 찍기 - 2

※ 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별을 출력하시오.

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

풀이 : 없음


10871 - X보다 작은 수

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

A, X = map(int, input().split())
for i in map(int, input().split()):
  if i < X: print(i)

풀이 : 문제를 풀 때 가장 고민했던 부분은 여러개의 입력을 어떻게 처리할 지에 대한 것이었다. 여태까지의 문제들은 두개의 입력만 받았어서 A, B에 각각 저장하고 사용했지만 이번 문제는 A개의 입력을 받기 때문에 이를 처리할 방법에 대해 생각해보았다. 생각해낸 방법은 입력을 받은 뒤 변수 또는 리스트에 따로 저장하고 사용하는 것이 아닌 for 문으로 바로 처리해버리는 것이다.

'코딩 공부 > 파이썬' 카테고리의 다른 글

백준 함수 문제풀이  (0) 2022.01.18
백준 1차원 배열 문제풀이  (0) 2022.01.17
백준 While문 문제풀이  (0) 2022.01.14
백준 for문 문제풀이-1  (0) 2022.01.12
백준 if문 문제풀이  (0) 2022.01.11

+ Recent posts