문제번호 25304번 영수증
첫째 줄에 총금액 X, 둘째 줄에 구매한 물건의 종류수 N, 이후 N개의 줄에는 각 물건의 가격(a) 개수(b)를 입력한다.
구매한 물건들의 가격과 개수로 계산한 총금액(sigma(a*b))이 X와 같으면 Yes를 출력해야 한다. 만약 다르면 No를 출력해야 한다.
답안 :
1 X = int(input())
2 import sys
3 N = int(input())
4 total = 0
5 for i in range(N):
6 a, b = map(int,sys.stdin.readline().split())
7 total += a*b
8 if total == X :
9 print('Yes')
10 else:
11 print('No')
comment :
# 총금액 X를 정수형으로 받는다.
# 빠른 처리를 위해서 sys모듈을 불러오고, 개수 N을 정수형으로 받는다.
# sigma(a*b)의 합을 위한 변수 total을 설정해준다.
# N개를 차례대로 작성하고, a*b값을 total에 추가해서 더해주도록 for 반복문을 설정해준다.
# total과 X 가 같은 경우와 아닌 경우를 조건문을 통하여 설정해준다.
----------------------------------------------------------
문제번호 25314번 코딩은 체육과목입니다
정수 N (4 ≤ N ≤ 1000, N은 4의 배수)이 입력되면 N//4의 개수만큼 long을 출력하고, 마지막에 int를 출력한다.
답안 :
1 N = int(input())
2 count = N // 4
3 for i in range(count):
4 print('long', end=' ')
5 print('int')
comment :
# N을 정수형으로 받아주고, long을 입력할 변수 count를 설정해준다.
# count만큼 long을 출력하도록 해준다. print() 함수는 마지막에 '\n'이 있는 것이 기본값이기 때문에 붙여 쓰고 한 칸 띄우기 위해서 end=' '를 설정해주어야 한다.
# 그렇게 된다면 마지막 long을 쓰고 한 칸이 띄워져 있는 상태이므로 별다른 조치 없이도 for구문을 벗어나 print를 해주기만 하면 마지막에 붙여 쓸 수 있는 상태가 된다.
----------------------------------------------------------
문제번호 15552번 빠른 A + B
테스트케이스의 개수 T(T는 최대 1,000,000)가 입력된다. 정수 A B(A, B는 1 이상 1,000 이하)가 입력된다. 그러면 각 테스트케이스마다 한 줄에 하나씩 순서대로 출력해야 한다.
답안 :
1 T = int(input())
2 import sys
3 for i in range(T):
4 A, B = map(int,sys.stdin.readline().split())
5 print(A+B)
comment :
# sys 모듈을 이용하여 시간을 절약하는 코드이다.
# 같은 문제를 어제 풀었는데, 내가 어제 했던 코드(리스트를 이용한 방식)를 이 문제에 적용했더니 시간 초과가 발생하였다.
# 이를 통해 sys모듈로 시간처리를 줄일 수 있다는 것을 알았다.
'프로그래밍 > 파이썬 python' 카테고리의 다른 글
단계별로 풀어보기 3 - 반복문(4), 4 - 1차원 배열(1) (0) | 2023.07.25 |
---|---|
단계별로 풀어보기 3 - 반복문(3) (0) | 2023.07.24 |
단계별로 풀어보기 3 - 반복문 (0) | 2023.07.22 |
단계별로 풀어보기 2 - 조건문(2) (0) | 2023.07.21 |
단계별로 풀어보기 2 - 조건문(1) (0) | 2023.07.20 |