반응형
문제유형
사칙연산
풀이 방법 도출 과정
1. 기본적인 사칙연산을 이용하여 주문 수량을 계산할 수 있다.
2. 티셔츠의 경우, 각 사이즈별 참가자 수를 고려하여 필요한 묶음 수를 계산한 후 주문 가능한 단위에 맞춰 조정한다
3. 펜은 묶음 단위 P자루씩 주문하거나, 부족한 경우 개별 주문을 통해 참가자 수와 정확히 맞춘다.
4. 예외도 생각
시간 복잡도
시간 복잡도는 모두 O(1)이다.
코드 및 간단설명
사칙연산을 활용한 문제이다.
N = int(input())
lst = list(map(int, input().split()))
T, P = map(int, input().split())
A = 0
for i in range(6):
if lst[i] % T == 0:
A += lst[i] // T
else:
A += lst[i] // T + 1
print(A)
print(N // P, N - (P * (N // P)), end=' ')
다른 풀이
1) math함수 사용
math를 사용하여 더 효율적인 계산을 하였다. math.ceil, divmod의 성질을 이용하였다.
import math
# 입력 받기
N = int(input())
lst = list(map(int, input().split()))
T, P = map(int, input().split())
# lst의 앞 6개 원소에 대해 math.ceil을 사용해 올림 나눗셈을 수행하고 합산
A = sum(math.ceil(x / T) for x in lst[:6])
print(A)
# divmod를 사용해 몫과 나머지를 한 번에 계산
q, r = divmod(N, P)
print(q, r)
반응형
'Coding Test (코딩 테스트)' 카테고리의 다른 글
[실버1]백준 1342번(행운의 문자열) - 코테공부 26일차(2025.02.17) (0) | 2025.02.17 |
---|---|
[실버2]백준 1182번(부분수열의 합) - 코테공부 26일차(2025.02.17) (0) | 2025.02.17 |
[class2]백준 2503번(숫자 야구) - 코테공부 25일차(2025.02.16) (0) | 2025.02.16 |
[class2]백준 23246번(Sport Climbing Combined) - 코테공부 25일차(2025.02.16) (0) | 2025.02.16 |
[class2]백준 11650번(좌표 정렬하기) - 코테공부 24일차(2025.02.15) (0) | 2025.02.15 |