CK week5 day 2

BnDCยท2021๋…„ 10์›” 19์ผ
0

code Kata

๋ชฉ๋ก ๋ณด๊ธฐ
21/22

๐Ÿงจ ๋ฌธ์ œ

nums๋ผ๋Š” ๋ฆฌ์ŠคํŠธ๊ฐ€ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ฒ„๋ธ”์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ฆฌ์ŠคํŠธ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด๋ผ.






๐ŸŽฏ ํ’€์ด

def bubbleSort(arr):
	length = len(arr) -1
    for i in range(length):
      for j in range(length - i):
        if arr[j] > arr[j+1]:
          arr[j], arr[j+1] = arr[j+1], arr[j]

    return arr




๐Ÿน ๊ฑฐํ’ˆ ์ •๋ ฌ (bubble sort)

๊ฑฐํ’ˆ ์ •๋ ฌ ๋˜๋Š” ๋ฒ„๋ธ” ์ •๋ ฌ( - ๆ•ดๅˆ—, ์˜์–ด: bubble sort, sinking sort)์€ ๋‘ ์ธ์ ‘ํ•œ ์›์†Œ๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ O(n2)O(n^{2})๋กœ ์ƒ๋‹นํžˆ ๋Š๋ฆฌ๋‹ค.

๊ฑฐํ’ˆ ์ •๋ ฌ์˜ ์ˆœ์„œ
1. ๋ฆฌ์ŠคํŠธ์˜ ์ฒซ๋ฒˆ์งธ ์š”์†Œ์™€ ๋‘๋ฒˆ์งธ ์š”์†Œ์˜ ๋Œ€์†Œ ๊ด€๊ณ„๋ฅผ ๋น„๊ตํ•œ๋‹ค
2. ๋Œ€์†Œ๊ด€๊ณ„์— ๋”ฐ๋ผ ์ž‘์€ ๊ฒƒ์„ ์•ž์œผ๋กœ ์œ„์น˜ ์‹œํ‚จ๋‹ค.(์˜ค๋ฆ„์ฐจ์ˆœ ๊ธฐ์ค€)
3. ๋น„๊ตํ•˜๋Š” ๋ฆฌ์ŠคํŠธ์˜ ์ธ๋ฑ์Šค๋ฅผ ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€์‹œ์ผœ 1,2๋ฅผ ๋ฐ˜๋ณตํ•œ๋‹ค.
4. ๋ฆฌ์ŠคํŠธ์˜ ๋ ์š”์†Œ๊นŒ์ง€ ์ง„ํ–‰๋˜๋ฉด ๊ฐ€์žฅ ํฐ ์ˆ˜๊ฐ€ ๋ฆฌ์ŠคํŠธ ๋์— ๋ฐฐ์น˜๋œ๋‹ค.
5. ํฐ ์ˆ˜ ๋ถ€ํ„ฐ ์ •๋ ฌ๋œ, ๋’ค์— ์›์†Œ๋ฅผ ์ œ์™ธํ•˜๊ณ , 1,2,3์„ ๋ฐ˜๋ณตํ•œ๋‹ค.


์›์†Œ์˜ ์ด๋™์ด ๊ฑฐํ’ˆ์ด ์ˆ˜๋ฉด์œผ๋กœ ์˜ฌ๋ผ์˜ค๋Š” ๋“ฏํ•œ ๋ชจ์Šต์„ ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์— ์ง€์–ด์ง„ ์ด๋ฆ„์ด๋‹ค.

์ถœ์ฒ˜
์œ„ํ‚ค๋ฐฑ๊ณผ

์‹œ๊ฐ„ ๋ณต์žก๋„

์ „์ฒด ์›์†Œ์˜ ๊ฐœ์ˆ˜๊ฐ€ nn๊ฐœ ๋ผ๊ณ  ํ•  ๋•Œ,
์ด 1+2+...+(nโˆ’2)+(nโˆ’1)1 + 2 + ... + (n - 2) + (n - 1)๋ฒˆ ์ˆœํšŒํ•˜๋ฉด ์ •๋ ฌ์ด ์™„๋ฃŒ ๋œ๋‹ค.

1+2+...+(nโˆ’2)+(nโˆ’1)=1 + 2 + ... + (n - 2) + (n - 1) = โˆ‘i=1nโˆ’1i\sum_{i=1}^{n-1}{i}
=n(nโˆ’1)2=\frac{n(n-1)}{2} =O(n2)=O(n^2)

์˜ˆ์‹œ

1ํšŒ
1
[6, 5, 3, 2, 8]
[5, 6, 3, 2, 8]

2
[5, 6, 3, 2, 8]
[5, 3, 6, 2, 8]

3
[5, 3, 6, 2, 8]
[5, 3, 2, 6, 8]

4
[5, 3, 2, 6, 8]


[5, 3, 2, 6, 8]


2ํšŒ
1
[5, 3, 2, 6, 8]
[3, 5, 2, 6, 8]

2
[3, 5, 2, 6, 8]
[3, 2, 5, 6, 8]

3
[3, 2, 5, 6, 8]


[3, 2, 5, 6, 8]


3ํšŒ

1
[3, 2, 5, 6, 8]
[2, 3, 5, 6, 8]

2
[3, 2, 5, 6, 8]


[2, 3, 5, 6, 8]


4ํšŒ
1
[2, 3, 5, 6, 8]


[2, 3, 5, 6, 8]

profile
โ€œLife is C (Choice) between B (Birth) and D (Death).โ€ - ์ธ์ƒ์€ B์™€ D์‚ฌ์ด์˜ C

0๊ฐœ์˜ ๋Œ“๊ธ€