μ΄λ² κΈμμλ λ°±μ€ 13458λ² λ¬Έμ μΈ “μν κ°λ ”μ ν¨κ» ν΄κ²°ν΄ λ³΄κ² μ΅λλ€. μ΄ λ¬Έμ λ κ° μνμ₯μμ νμν κ°λ κ΄μ μλ₯Ό κ³μ°νλ λ¬Έμ μ λλ€.
λ¬Έμ URL : https://www.acmicpc.net/problem/13458
1. λ¬Έμ μ€λͺ
1) λ¬Έμ κ°μ
• μ¬λ¬ κ°μ μνμ₯μ΄ μκ³ , κ° μνμ₯λ§λ€ μμμκ° μμ΅λλ€.
• ν μνμ₯μ ν λͺ μ μ£Όκ°λ κ΄μ΄ νμν©λλ€.
• λΆκ°λ κ΄μ μ¬λ¬ λͺ μ΄ μμ μ μμΌλ©°, κ° λΆκ°λ κ΄μ Cλͺ μ μμμλ₯Ό κ°μν μ μμ΅λλ€.
• κ° μνμ₯μ νμν κ°λ κ΄μ μ΄ μλ₯Ό ꡬνλ κ²μ΄ λͺ©νμ λλ€.
2) μ λ ₯
• 첫 λ²μ§Έ μ€μ μνμ₯μ κ°μ Nμ΄ μ£Όμ΄μ§λλ€. (1 ≤ N ≤ 1,000,000)
• λ λ²μ§Έ μ€μ κ° μνμ₯μ μλ μμμμ μ Aiκ° μ£Όμ΄μ§λλ€. (1 ≤ Ai ≤ 1,000,000)
• μΈ λ²μ§Έ μ€μ Bμ Cκ° μ£Όμ΄μ§λλ€. (1 ≤ B, C ≤ 1,000,000)
3) μΆλ ₯
• κ° μνμ₯μ νμν κ°λ κ΄μ μ΄ μλ₯Ό μΆλ ₯ν©λλ€.
2. μ κ·Όλ²
1) μ λ ₯λ°κΈ°
• sys.stdin.readlineμ μ¬μ©νμ¬ μ λ ₯ μλλ₯Ό λμ λλ€.
• 첫 λ²μ§Έ μ€μμ μνμ₯μ κ°μ Nμ μ λ ₯λ°μ΅λλ€.
• λ λ²μ§Έ μ€μμ κ° μνμ₯μ μλ μμμμ μ Aiλ₯Ό 리μ€νΈλ‘ μ λ ₯λ°μ΅λλ€.
• μΈ λ²μ§Έ μ€μμ μ£Όκ°λ κ΄μ΄ κ°μν μ μλ μμμ μ Bμ λΆκ°λ κ΄μ΄ κ°μν μ μλ μμμ μ Cλ₯Ό μ λ ₯λ°μ΅λλ€.
2) κ°λ κ΄ μ κ³μ°
• κ° μνμ₯λ§λ€ μ£Όκ°λ κ΄ 1λͺ μ΄ νμνλ―λ‘ μ΄κΈ° κ°μ Nμ λλ€.
• κ° μνμ₯μ λν΄ νμν λΆκ°λ κ΄ μλ₯Ό κ³μ°νμ¬ μ΄ κ°λ κ΄ μμ λν©λλ€.
• λΆκ°λ κ΄ μλ μμμ μμμ μ£Όκ°λ κ΄μ΄ κ°μν μ μλ μΈμμ λΊ ν, λλ¨Έμ§ μΈμμ λΆκ°λ κ΄μ΄ κ°μν μ μλ μΈμμΌλ‘ λλμ΄ μ¬λ¦Ό μ²λ¦¬νμ¬ κ΅¬ν©λλ€.
3. μ λ΅ μ½λ
import sys
import math
input = sys.stdin.readline
# 첫째 μ€μ μνμ₯μ κ°μ Nμ μ
λ ₯λ°μ
N = int(input().strip())
# λμ§Έ μ€μ κ° μνμ₯μ μλ μμμμ μ Aiλ₯Ό 리μ€νΈλ‘ μ
λ ₯λ°μ
A = list(map(int, input().strip().split()))
# μ
μ§Έ μ€μ Bμ Cλ₯Ό μ
λ ₯λ°μ
B, C = map(int, input().strip().split())
# κ° μνμ₯λ§λ€ μ£Όκ°λ
κ΄ 1λͺ
μ΄ νμνλ―λ‘ μ΄κΈ° κ°μ N
ans = N
# κ° μνμ₯μ λν΄ νμν λΆκ°λ
κ΄ μλ₯Ό κ³μ°
for i in range(N):
num = A[i] - B # μ£Όκ°λ
κ΄μ΄ κ°μν μ μλ Bλͺ
μ μ μΈν λλ¨Έμ§ μμμ μ
if num > 0: # λλ¨Έμ§ μμμκ° μ‘΄μ¬νλ©΄
ans += math.ceil(num / C) # λΆκ°λ
κ΄μ΄ νμ, μ¬λ¦Όμ ν΅ν΄ λΆκ°λ
κ΄ μ κ³μ°
# μ΅μ’
μ μΌλ‘ νμν κ°λ
κ΄μ μ΄ μλ₯Ό μΆλ ₯
print(ans)
4. μ½λ μ€λͺ
1) μ λ ₯ λ°κΈ°
• 첫째 μ€μμ μνμ₯μ κ°μ Nμ μ λ ₯λ°μ΅λλ€.
• λμ§Έ μ€μμ κ° μνμ₯μ μλ μμμμ μ Aiλ₯Ό 리μ€νΈλ‘ μ λ ₯λ°μ΅λλ€.
• μ μ§Έ μ€μμ μ£Όκ°λ κ΄μ΄ κ°μν μ μλ μμμ μ Bμ λΆκ°λ κ΄μ΄ κ°μν μ μλ μμμ μ Cλ₯Ό μ λ ₯λ°μ΅λλ€.
2) κ°λ κ΄ μ κ³μ°
• μ΄κΈ° κ°μΌλ‘ κ° μνμ₯μ μ£Όκ°λ κ΄ 1λͺ μ© ν λΉνμ¬ ansμ Nμ μ μ₯ν©λλ€.
• κ° μνμ₯μ λν΄ λλ¨Έμ§ μμμ μ(num)λ₯Ό κ³μ°νκ³ , λΆκ°λ κ΄ μλ₯Ό μ¬λ¦Όνμ¬ κ³μ°νμ¬ μ΄ κ°λ κ΄ μ(ans)μ λν©λλ€.
3) κ²°κ³Ό μΆλ ₯
• μ΅μ’ μ μΌλ‘ νμν κ°λ κ΄μ μ΄ μλ₯Ό μΆλ ₯ν©λλ€.
5. GithubμΌλ‘ νμΈ
μκ° λ³΅μ‘λ
• μ΄ λ¬Έμ μ μκ° λ³΅μ‘λλ O(N)μ λλ€. κ° μνμ₯μ λν΄ νμν κ°λ κ΄ μλ₯Ό κ³μ°νλ 루νκ° Nλ² λ°λ³΅λκΈ° λλ¬Έμ λλ€
'π μκ³ λ¦¬μ¦ > BOJ(λ°±μ€)_Python' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
BOJ(λ°±μ€) 5567[κ²°νΌμ] (0) | 2024.07.12 |
---|---|
BOJ(λ°±μ€) 14888[μ°μ°μ λΌμλ£κΈ°] (0) | 2024.07.11 |
BOJ(λ°±μ€) 14889[μ€ννΈμ λ§ν¬] (0) | 2024.07.09 |
BOJ(λ°±μ€) 2606[λ°μ΄λ¬μ€] (0) | 2024.07.08 |
BOJ(λ°±μ€) 14267[νμ¬ λ¬Έν 1] (0) | 2024.07.07 |