D3
Problem
SW Expert Academy ํน๋ณํ ์ ๋ ฌ
SW Expert Academy
SW ํ๋ก๊ทธ๋๋ฐ ์ญ๋ ๊ฐํ์ ๋์์ด ๋๋ ๋ค์ํ ํ์ต ์ปจํ ์ธ ๋ฅผ ํ์ธํ์ธ์!
swexpertacademy.com
Solution
1. ํ์์ ์ง์์ผ ๋๋ฅผ ๊ตฌ๋ถํ์ฌ ๊ณผ์ ์ ์ธ์ด๋ค.
- ํ์
- Bubble ์ ๋ ฌ๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์ฒซ ๋ฒ์งธ๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ทธ ๋ค์ ์๋ ์ซ์๋ค ์ค ๊ฐ์ฅ ์์ ๊ฐ๊ณผ ์๋ฆฌ๋ฅผ ๋ฐ๊พผ๋ค.
- ์ด ๊ณผ์ ์ ์ฒซ ๋ฒ์งธ ์ซ์๋ถํฐ ๋ง์ง๋ง ์ด์ ์ซ์๊น์ง ๋ฐ๋ณตํ๋ฉด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ์ด ๊ฐ๋ฅํ๋ค.
- ์ง์
- ํ์์ ๊ฐ์ ๋ฐฉ์์ด์ง๋ง, ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํด์ผํ๋ฏ๋ก ์ต์๊ฐ ๋์ ์ต๋๊ฐ์ ์ฐพ์ ์๋ฆฌ๋ฅผ ๊ตํํ๋ค.
Code
for test_case in range(1, int(input())+1):
N = int(input())
arr = list(map(int,input().split()))
for i in range(N):
min_Idx = max_Idx = i
# ํ์ = ์ต์
if i % 2:
for j in range(i + 1, N):
if arr[min_Idx] > arr[j]:
min_Idx = j
# ์์น ๋ฐ๊พธ๊ธฐ
arr[i], arr[min_Idx] = arr[min_Idx], arr[i]
# ์ง์ = ์ต๋
else:
for j in range(i + 1, N):
if arr[max_Idx] < arr[j]:
max_Idx = j
# ์์น๋ฐ๊พธ๊ธฐ
arr[i], arr[max_Idx] = arr[max_Idx], arr[i]
print(f'#{test_case}', *arr[:10])
<๋ถ์กฑํ ๋ถ๋ถ์ ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์๋ฉด ์ ์๊ฒ ๋์์ด ๋ฉ๋๋ค!>
๋ฐ์ํ
'๐ STUDY > ์๋ฃ๊ตฌ์กฐ & ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 1961. ์ซ์ ๋ฐฐ์ด ํ์ (0) | 2023.03.05 |
|---|---|
| 4839. [ํ์ด์ฌ S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 2์ผ์ฐจ - ์ด์งํ์ (0) | 2023.03.05 |
| 1209. [S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 2์ผ์ฐจ - Sum (0) | 2023.03.05 |
| 2001. ํ๋ฆฌ ํด์น (0) | 2023.03.05 |
| 4836. [ํ์ด์ฌ S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 2์ผ์ฐจ - ์์น ํ๊ธฐ (0) | 2023.03.05 |