Search

์กฐ์˜ˆ์ง€

2.๋ฌธ์ œ์ด๋ฆ„
3. ์ˆ˜ํ–‰์‹œ๊ฐ„[์ดˆ(s)]
2400
์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ
์ข‹์•„์š” ์ˆ˜
: 0
5 more properties
| ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ
from math import ceil def solution (n, times): answer = 0 lo = ceil(min(times) * n / len(times)) mx = ceil(max(times) * n / len(times)) while lo <= mx: mid = (lo + mx)//2 sum = 0 for i in range(len(times)): sum += mid // times[i] if sum >= n: mx = mid - 1 else: lo = mid + 1 return lo
Java
๋ณต์‚ฌ
| ์ฝ”๋“œ ์„ค๋ช…ํ•˜๊ธฐ
โ€ข
์‹ฌ์‚ฌํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์˜ ๋ฒ”์œ„ : ์ตœ์†Œ ์‹œ๊ฐ„ = math.ceil(min * n / len(times)) ์ตœ๋Œ€ ์‹œ๊ฐ„ = max * n
โ€ข
answer๊ฐ€ ์ด ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด๋ผ๊ณ  ํ•˜๋ฉด answer//times[i]์€ ์‹ฌ์‚ฌ๊ด€ ํ•œ ๋ช…์ด ์ผ์ • ์‹œ๊ฐ„ ๋‹น ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์˜ ์ˆ˜์ด๋‹ค. ๊ทธ๋ž˜์„œ for๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ์ด ํ•ฉ์„ ๊ตฌํ•˜๋ฉด ์ด ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์˜ ์ˆ˜๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ํ•ฉ์ด n์ด ๋˜๋Š” ์ตœ์†Œ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค.
answer//times[0] + answer//times[1] + .. + answer//times[-1] = n
โ€ข
์ด๋ถ„ ํƒ์ƒ‰์„ ํ†ตํ•ด ์ค‘๊ฐ„๊ฐ’(์ด ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„)์„ ์ •ํ•˜๊ณ  ํ•ฉ(์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์˜ ์ˆ˜)์ด n๋ณด๋‹ค ์ž‘์œผ๋ฉด ์•ˆ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ž‘์œผ๋ฉด ์ค‘๊ฐ„๊ฐ’์˜ ์œ„์ชฝ์„ ํƒ์ƒ‰ํ•˜๋„๋ก low๊ฐ’์˜ ์ธ๋ฑ์Šค๋ฅผ mid+1๋กœ ์˜ฎ๊ธด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•ฉ์ด n๊ณผ ๊ฐ™์„ ๋•Œ๋Š” ์–ด์ฐจํ”ผ ์ตœ์†Œ๊ฐ’์ด ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์ชฝ์„ ํƒ์ƒ‰ํ•˜๋Š” ๊ฑธ๋กœ ํ•œ๋‹ค.