์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ch06. Sorting and Searching(์ •๋ ฌ, ์ด๋ถ„๊ฒ€์ƒ‰๊ณผ ๊ฒฐ์ •์•Œ๊ณ ๋ฆฌ์ฆ˜) : ๋ฒ„๋ธ” ์ •๋ ฌ

2023. 11. 3. 15:49ใ†์ธํ”„๋Ÿฐ/์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด ์ž…๋ฌธ : ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„

728x90

 

https://hyejin.tistory.com/1240

 

์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ch06. Sorting and Searching(์ •๋ ฌ, ์ด๋ถ„๊ฒ€์ƒ‰๊ณผ ๊ฒฐ์ •์•Œ๊ณ ๋ฆฌ์ฆ˜) : ์„ ํƒ ์ •

https://hyejin.tistory.com/1239 ์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ch05. Stack, Queue (์ž๋ฃŒ๊ตฌ์กฐ) : ์‘๊ธ‰์‹ค https://hyejin.tistory.com/1238 ์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ch05. Stack, Queue (์ž๋ฃŒ๊ตฌ์กฐ) : ๊ต์œก๊ณผ์ •์„ค๊ณ„ https:/

hyejin.tistory.com

-> ์ด์ „ ๋ฌธ์ œ ํ’€์ด 

 

 

 

2. ๋ฒ„๋ธ” ์ •๋ ฌ 

์„ค๋ช…

N๊ฐœ์ด ์ˆซ์ž๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฒ„๋ธ”์ •๋ ฌ์ž…๋‹ˆ๋‹ค.

 

์ž…๋ ฅ

์ฒซ ๋ฒˆ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ N(1<=N<=100)์ด ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ์ค„์— N๊ฐœ์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ž…๋ ฅ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ์ž์—ฐ์ˆ˜๋Š” ์ •์ˆ˜ํ˜• ๋ฒ”์œ„ ์•ˆ์— ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ถœ๋ ฅ

์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ์ˆ˜์—ด์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

 

์˜ˆ์‹œ ์ž…๋ ฅ 1 

6
13 5 11 7 23 15

 

์˜ˆ์‹œ ์ถœ๋ ฅ 1

5 7 11 13 15 23

 

 

๋ฌธ์ œ ํ’€์ด 1

public int[] solution(int n, int[] arr)
{
   int idx = n;
   while ( idx != 0)
   {
      idx--;
      for (int i = 0; i < n - 1; i++)
      {
         if (arr[i] > arr[i + 1]) {
            int tmp = arr[i];
            arr[i] = arr[i + 1];
            arr[i + 1] = tmp;
         }
      }
   }
   
   return arr;
}

 

๐Ÿ‘ฉ‍๐Ÿ’ป : ๋ฒ„๋ธ” ์ •๋ ฌ์€ ๋ฐฐ์—ด์—์„œ ๋ฐ”๋กœ ์˜† (์˜ค๋ฅธ์ชฝ) ๊ฐ’๊ณผ ๋น„๊ตํ•ด์„œ ์˜ค๋ฅธ์ชฝ ๊ฐ’์ด ๋” ์ž‘์œผ๋ฉด ํ˜„์žฌ ๊ฐ’๊ณผ ๋น„๊ตํ•˜๋ฉด์„œ ์˜†์œผ๋กœ ๋‚˜์•„๊ฐ€๋ฉฐ ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 

 

idx ์ธ๋ฑ์Šค ๊ฐ’์„ n ์œผ๋กœ ์„ค์ •ํ•˜๊ณ  while ๋ฐ˜๋ณต๋ฌธ์„ ๋„๋Š”๋ฐ ์ด๋•Œ ์กฐ๊ฑด์ด 0์ด ๋˜์ง€ ์•Š์„ ๋•Œ ๊นŒ์ง€ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

(์ฆ‰, n ๋ฒˆ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ!) 

 

ํ•œ๋ฒˆ  ๋ฐ˜๋ณตํ•  ๋•Œ ๋งˆ๋‹ค, idx ๊ฐ’์ด 1์”ฉ ์ค„์–ด๋“ค๊ฒŒ ํ•˜๊ณ , ๊ทธ ๋‹ค์Œ for๋ฌธ์„ ๋„๋Š”๋ฐ ์ด๋•Œ์—๋Š” i๊ฐ€ n-1 ์ „๊นŒ์ง€ ๋Œ๋ฉด์„œ 

arr[i]์™€ arr[i + 1] ์„ ๋น„๊ตํ•ด์„œ arr[i+1]์ด ๋” ์ž‘์œผ๋ฉด arr[i]๊ณผ ๊ฐ’์„ ๋ฐ”๊พธ๋ฉด์„œ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  arr๋ฅผ ๋ฆฌํ„ดํ•ด์คฌ๋‹ค. 

 

 

 

๋ฌธ์ œ ํ’€์ด 2

public int[] solution2(int n, int[] arr)
{
   for (int i = 0; i < n - 1; i++) // i : ํ„ด์˜ ํšŸ์ˆ˜
   {
      for (int j = 0; j < n - i - 1; j++)
      {
         if (arr[j] > arr[j + 1]) {
            int tmp = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = tmp;
         }
      }
   }
   return arr;
}

๐Ÿ‘พ : ๊ฐ•์‚ฌ๋‹˜์€ while๋ฌธ์ด ์•„๋‹ˆ๋ผ ์ด์ค‘ for๋ฌธ์„ ํ†ตํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค. 

์šฐ์„  i๋Š” ํ„ดํ•˜๋Š” ํšŸ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š”๋ฐ, ์ฆ‰ ๋ช‡๋ฒˆ ๋ฐ˜๋ณตํ•˜๋Š๋ƒ ์ด๋‹ค ! 

n - 1 ๋ฒˆ ํ„ดํ•ด๋„ ๋˜๋Š” ์ด์œ ๋Š” ๋‘๊ฐœ๋ฅผ ๋น„๊ตํ•˜๋ฉด n๊นŒ์ง€ i๊ฐ€ ๊ฐˆ ํ•„์š” ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  j๋Š” n - i - 1 ๋ฒˆ ํ•˜๋ฉด ๋˜๋Š”๋ฐ j ๋ž‘ j + 1 ๊ฐ’์„ ๋น„๊ตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งˆ์ง€๋ง‰๊ฐ’์€ ๋งˆ์ง€๋ง‰ ๊ฐ’์˜ j -1 ์—์„œ ๋น„๊ต๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. 

arr[j]๋ž‘ arr[j+1] ๋น„๊ตํ•ด์„œ arr[j+1]์ด ๋” ์ž‘์œผ๋ฉด arr[j]๊ณผ arr[j+1] ๊ฐ’์„ ๋น„๊ตํ•ด์„œ ๊ตํ™˜ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 

 

๊ทธ๋Ÿฌ๋ฉด ์˜ค๋ฆ„ ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜๊ณ  arr๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด ๋œ๋‹ค ! 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90

'์ธํ”„๋Ÿฐ > ์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด ์ž…๋ฌธ : ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ch06. Sorting and Searching(์ •๋ ฌ, ์ด๋ถ„๊ฒ€์ƒ‰๊ณผ ๊ฒฐ์ •์•Œ๊ณ ๋ฆฌ์ฆ˜) : Least Recently Used  (0) 2023.11.06
์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ch06. Sorting and Searching(์ •๋ ฌ, ์ด๋ถ„๊ฒ€์ƒ‰๊ณผ ๊ฒฐ์ •์•Œ๊ณ ๋ฆฌ์ฆ˜) : ์‚ฝ์ž… ์ •๋ ฌ  (0) 2023.11.06
์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ch06. Sorting and Searching(์ •๋ ฌ, ์ด๋ถ„๊ฒ€์ƒ‰๊ณผ ๊ฒฐ์ •์•Œ๊ณ ๋ฆฌ์ฆ˜) : ์„ ํƒ ์ •๋ ฌ  (0) 2023.11.03
์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ch05. Stack, Queue (์ž๋ฃŒ๊ตฌ์กฐ) : ์‘๊ธ‰์‹ค  (0) 2023.11.02
์ž๋ฐ” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ž…๋ฌธ. ch05. Stack, Queue (์ž๋ฃŒ๊ตฌ์กฐ) : ๊ต์œก๊ณผ์ •์„ค๊ณ„  (1) 2023.11.01