Algorithm Problem/Python
[python] SWEA - 1225. [S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 7์ผ์ฐจ - ์ํธ์์ฑ๊ธฐ
deo2kim
2022. 3. 22. 22:56
๋ฐ์ํ
๐ค๋ฌธ์ ํด๊ฒฐ
- ์ซ์๊ฐ ํด ๊ฐ๋ฅ์ฑ์ด ์์ด์ while๋ฌธ์ ๊ณ์ ๋๋ฆฌ๊ธฐ๋ณด๋จ ๊ท์น์ ์ฐพ์์ ๋ฏธ๋ฆฌ ํ๋ฒ์ ๋นผ์ฃผ๊ณ ๋๋จธ์ง๋ฅผ ๋๋ ธ๋ค.
- 5์ธ์ดํด ๋ง๋ค ์ ์ฒด ์ซ์์ -15 ์ฉ ํ๊ฒ ๋๋ค. (๋ชจ๋ ์ ๋์ผํ๊ฒ)
- ๊ทธ๋ฌ๋ฏ๋ก ์ฃผ์ด์ง ์ซ์ ์ค ๊ฐ์ฅ ์์ ์๋ฅผ 15๋ก ๋๋ ๋ชซ์ ๊ตฌํ๊ณ ๋ชจ๋ ์ซ์์์ 15 * ๋ชซ ๋งํผ ๋นผ์ค๋ค.
- ๊ทธ ๋ค์ ์ธ์ดํด์ ๋๋ ค์ฃผ๋ฉด while 5๋ฒ ์ด๋ด๋ก ๋ฌธ์ ํด๊ฒฐ
๐จ ํ ์คํธ ์ผ์ด์ค 2๋ฒ์์ ๋ต์ด ํ๋ ธ๋๋ฐ ๊ทธ ์ด์ ๋ ๋ฑ ๋๋์ด ๋จ์ด์ง๋ ๊ฒฝ์ฐ๊ฐ ์์ ์ ์์
๊ทธ๋ด ๋ ๋ชซ์์ -1 ํด์ค๋ค์ ์งํํ๋ฉด ํด๊ฒฐ๐ต
๐ป์์ค ์ฝ๋
T = 10
for t in range(1, T + 1):
input()
answer = []
input_list = list(map(int, input().strip().split(' ')))
min_num = min(input_list)
mok = min_num // 15
# ๋ฐ๋ก 0 ์ด ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ (2๋ฒ ์ผ์ด์ค)
if mok * 15 == min_num:
mok -= 1
input_list = list(map(lambda x: x - 15 * mok, input_list))
# ๋ค๋ก ์๋ณด๋ด๊ณ ๋ง์ง๋ง์ ๋ฐ๊ฟ์ฃผ๊ธฐ
idx = 0
cnt = 0
while True:
idx %= 8
cnt = cnt % 5 + 1
input_list[idx] -= cnt
# ์ข
๋ฃ
if input_list[idx] <= 0:
# ์์๊ฐ ๋ ์๋ฅผ 0์ผ๋ก ๋ฐ๊ฟ์ฃผ๊ณ
input_list[idx] = 0
# ์์น๋ฅผ ์ฎ๊ฒจ์ค๋ค.
answer = input_list[idx + 1:] + input_list[:idx + 1]
print(f'#{t} {" ".join(list(map(str, answer)))}')
break
idx += 1
๐๋ฌธ์ ํ์ธ
์ถ์ฒ: SW Expert Academy
๋ฐ์ํ