* ๋ฒ๋ธ์ ๋ ฌ์ ๊ฐ๋
๋ ์ธ์ ํ ์์๋ฅผ ๊ฒ์ฌํ์ฌ ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ ๋งํ๋ค. ์๊ฐ ๋ณต์ก๋๋ ๋๋ฆฌ์ง๋ง , ์ฝ๋๋ ๋จ์ํ๋ค.
๊ตํ์ ๋ ฌ ์ ์ผ๋ถ์ ์ํ๋ค.
์์๊ฐ ์ด๋ํ๋ ๋ชจ์ต์ด ๊ฑฐํ์ด ์๋ฉด์๋ก ์ฌ๋ผ์ค๋ ๋ฏํ ๋ชจ์ต๊ณผ ๊ฐ๋ค๊ณ ํด์ ๋ถ์ฌ์ง ์ด๋ฆ์ด๋ผ๊ณ ํ๋ค.
* ์ ๋ ฌ์ ๊ณผ์
๋ฒ๋ธ์ ๋ ฌ๋ก ์ ๋ ฌ์ ํ ๋๋, ์์์ ๊ฐฏ์๋งํผ์ ์ํ๋ฅผ ํ๊ฒ๋๋ค.
1ํ์ฐจ๋๋ ๊ฐ์ฅ ํฐ์๊ฐ, 2ํ์ฐจ๋๋ ๋๋ฒ์งธ๋ก ํฐ์..... ์ด๋ฐ์์ผ๋ก ๊ฐ์ฅ ํฐ์๋ถํฐ ์๊ธฐ์๋ฆฌ ๋ฅผ ์ฐพ์๊ฐ๊ฒ ๋๋ค.
๋ฐ๋ผ์, ํ์ฐจ๋ฅผ ๊ฑฐ๋ญํ ์๋ก 1ํ์ฉ ์ ๋ ฌ์ ํ์๊ฐ ์ ์ด์ง๊ฒ๋๋ค. (์๊ธฐ์๋ฆฌ๋ฅผ ์ฐพ์ ๋ถ๋ถ์ ์ ๋ ฌํ ํ์๊ฐ ์์ผ๋ฏ๋ก)
array = [7,4,6,1] ์ด๋ผ๋ ๋ฐฐ์ด์ ๋ฒ๋ธ์ ๋ ฌ์ ์ด์ฉํ์ฌ ์์์๊ฐ ์์ ์ค๋๋ก ์ ๋ ฌํ๋ค๋ฉด
* 1ํ์ฐจ : ๊ฐ์ฅ ํฐ์(7) ๊ฐ ์ ๋ ฌ๋๋ค.
์ ๋ ฌํ์ : 3ํ
* 2ํ์ฐจ : ๋๋ฒ์งธ ํฐ์(6) ์ด ์ ๋ ฌ๋๋ค. (์ด๋ฏธ ์ ๋ ฌ์ ๋ง์น ๋งจ ๋ท๋ถ๋ถ์ ๋ฐฉ๋ฌธํ์ง ์๋๋ค.)
์ ๋ ฌํ์ : 2ํ
* 3ํ์ฐจ : ์ธ๋ฒ์งธ ํฐ์(4) ์ด ์ ๋ ฌ๋๋ค.
์ ๋ ฌํ์ : 1ํ
* ์๊ฐ๋ณต์ก๋
์์๊ฐ 4๊ฐ์ธ ๋ฐฐ์ด์ ๋ฒ๋ธ์ ๋ ฌํ์๋(์์ ์์)
n = ์์์ ๊ฐ์
n-1 = 3 ๋ฒ ํ์ฐจ๊ฐ ์กด์ฌํ๋ค.
๊ฐ ํ์ฐจ๋ง๋ค ์ ๋ ฌํ์๋ (n-1) + (n-2) + (n-3) = 3 + 2+ 1 ์ด์๋ค.
๋ฐ๋ผ์ ์ด๋ฅผ ์ผ๋ฐํ ํด๋ณด๋ฉด ( n*(n-1) ) / 2
์ฆ,O(n²)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค.
* ํ์ด์ฌ ์ฝ๋๋ก ๊ตฌํ
def bubble(n, data):
for i in range(n-1):
for j in range(n-1-i):
if data[j] > data[j+1]:
data[j],data[j+1] = data[j+1], data[j]
for i in range(n):
print(data[i], end = ' ')
n = int(input())
data = list(map(int,input().split()))
bubble(n, data)