D3
Problem
Solution
1. ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ์ฐจ์ด๋ฅผ ์ต์๋ก ๋ง๋๋ ๊ฒ์ ๋ชฉํ๋ก ํ๊ณ ์์ํ๋ค.
2. ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ด ๊ฐ์์ง๋ฉด ๋ ์ด์ ์ฎ๊ธธ ํ์๊ฐ ์๋ค.
3. ์ต๋๊ฐ์์ ์ต์๊ฐ์ผ๋ก ํ๋์ฉ ์ฎ๊ธฐ๋ฉด ์ธ์ ๊ฐ ์ํ๋ ๊ณณ์ ๋๋ฌํ๋ค.
Code
# ์ต๋๊ฐ๊ณผ ์ต์๊ฐ ์ฐพ๊ธฐ
def max_height(arr):
max_h = min_h = arr[0]
for i in range(len(arr)):
if arr[max_h] < arr[i]:
max_h = i
if arr[min_h] > arr[i]:
min_h = i
return [max_h, min_h]
for test_case in range(1, 11):
dump = int(input())
box_list = list(map(int, input().split()))
dump_cnt = 0
while True:
# ๋ง์ฝ ์ฐจ์ด๊ฐ 1๋ณด๋ค ํฌ๋ฉด ์ต์์์ ์ต๋๋ก ํ ์นธ ์ฎ๊ธฐ๊ธฐ
if box_list[max_height(box_list)[0]] - box_list[max_height(box_list)[1]] > 1:
box_list[max_height(box_list)[0]] -= 1
box_list[max_height(box_list)[1]] += 1
# ์นด์ดํธ
dump_cnt += 1
# ์นด์ดํธ๊ฐ ์ฃผ์ด์ง ํ์๊ฐ ๋๋ฉด ๋ฉ์ถค
if dump_cnt == dump:
break
else: # ๊ฐ์์ง๋ฉด ๋ฉ์ถค
break
print(f'#{test_case} {box_list[max_height(box_list)[0]] - box_list[max_height(box_list)[1]]}')
โ ๊ฐ์ ์ฌํญ
์ต์ ์ ์๊ฐ 1์นธ์ฐจ์ด๋ผ๋ฉด, ์ฃผ์ด์ง ํ์๋ฅผ ๋ง์น ๋๊น์ง ๊ฐ์ ์์ ์ ๋ฐ๋ณตํ๋ค. ๊ทธ๋ผ ํ์์๋ ์์ ์ ๋ฐ๋ณตํ๊ธฐ์
๋นํจ์จ์ ์ด๋ค.
์ด๋ฅผ ํจ์จ์ ์ผ๋ก ๋ฐ๊ฟ ์ ์์๊น?
<๋ถ์กฑํ ๋ถ๋ถ์ ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์๋ฉด ์ ์๊ฒ ํ์ด๋ฉ๋๋ค!>
<๊ทธ๋ฆผ ์ถ์ฒ: SWEA Flatten>
๋ฐ์ํ
'๐ STUDY > ์๋ฃ๊ตฌ์กฐ & ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 16268. ํ์ ํก2 (2) | 2023.03.05 |
|---|---|
| 9490. ํ์ ํก (2) | 2023.03.05 |
| 4831. [ํ์ด์ฌ S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 1์ผ์ฐจ - ์ ๊ธฐ๋ฒ์ค (0) | 2023.03.05 |
| 16180. 4834. [ํ์ด์ฌ S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 1์ผ์ฐจ - ์ซ์ ์นด๋ (0) | 2023.03.05 |
| 1206. [S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 1์ผ์ฐจ - View (0) | 2023.03.05 |
