λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Education

[λΆ€μŠ€νŠΈ μ½”λ”© 뉴비 μ±Œλ¦°μ§€ 2020] week4_μƒ˜ν”Œλ―Έμ…˜

λ°˜μ‘ν˜•

πŸ’‘ μƒ˜ν”Œλ―Έμ…˜ (제좜용X)

β–Ί 뉴비 μ—¬λŸ¬λΆ„λ“€κ»˜μ„œ λ―Έμ…˜μ„ μˆ˜ν–‰ν•˜μ‹œλŠ”λ° 도움이 될 수 있게 λ―Έμ…˜μƒ˜ν”Œμ„ 닡지와 ν•¨κ»˜ μ œκ³΅ν•΄λ“œλ¦½λ‹ˆλ‹€. λ―Έμ…˜μƒ˜ν”Œμ€ 제좜용이 μ•„λ‹Œ μ•„λž˜μ˜ λ―Έμ…˜μ„ ν’€κΈ°μœ„ν•΄ μ°Έκ³ ν•˜κΈ° μœ„ν•œ λ―Έμ…˜μž…λ‹ˆλ‹€.

 

βœ”οΈŽ μƒ˜ν”Œλ―Έμ…˜. 채점 ν”„λ‘œκ·Έλž¨μ„ λ§Œλ“€μ–΄λ³΄μž!

 

1. λ―Έμ…˜ 제λͺ©
버블정렬 ν”„λ‘œκ·Έλž¨ μž‘μ„±

 

2. μ§€μ‹œλ¬Έ
0μ—μ„œ 9μ‚¬μ΄μ˜ 숫자 5개λ₯Ό μž…λ ₯으둜 λ°›μ•„ 버블정렬을 μ΄μš©ν•˜μ—¬ 숫자λ₯Ό μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•΄λ΄…μ‹œλ‹€. 숫자λ₯Ό μž…λ ₯λ°›λŠ” 뢀뢄은 λ”°λ‘œ κ΅¬ν˜„ν•˜μ§€ μ•Šκ³  ν”„λ‘œκ·Έλž¨ μ•ˆμ—μ„œ λ°°μ—΄λ‘œ μ„ μ–Έν•˜λŠ” κ²ƒμœΌλ‘œ κ°€μ •ν•˜κ³ , μˆ«μžμ—λŠ” 쀑볡이 μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

예)
μž…λ ₯κ°’: 32415 -> 좜λ ₯κ°’: 12345
μž…λ ₯κ°’: 12791 -> 좜λ ₯κ°’: 11279

 

3. 핡심 κ°œλ…
#버블정렬

 

#include <stdio.h>

int main(void) {  
  int number[5] = {1, 2, 7, 9, 1};
  int temp;
  for (int i=0; i < 5; i++)
  {
    for (int j=0; j < 5 - i - 1; j++ )
    {
      if (number[j] > number[j+1])
      {
        temp = number[j];
        number[j] = number[j+1];
        number[j+1] = temp;
      }
    }
  }

  for (int i=0; i < 5; i++)
  {
    printf("%d", number[i]);
  }
  return 0;
}

 

4. ν•΄μ„€

i 0 1 2 3 4
j 0~4 0~3 0~2 0~1 0~0
쌍 4쌍 3쌍 2쌍 1쌍 0쌍

i=0, j=0~4 : κ°€μž₯ 큰 μˆ˜κ°€ 맨 였λ₯Έμͺ½(5th)으둜 였게 λœλ‹€

i=1, j=0~3 : κ·Έ λ‹€μŒ 큰 μˆ˜κ°€ 4th에 였게 λœλ‹€. 5thμœ„μΉ˜λŠ” κ³ λ €ν•  ν•„μš”κ°€ μ—†κΈ° λ•Œλ¬Έμ— μ•žμ˜ 3쌍만 숫자 λΉ„κ΅ν•œλ‹€.

i=2, j=0~2 : κ·Έ λ‹€μŒ 큰 μˆ˜κ°€ 3th에 였게 λœλ‹€. 4th, 5thλŠ” κ³ λ € ν•„μš” x

...

예둜 λ“€μ–΄μ„œ 1 2 7 9 1 λ‹€μ„― μˆ˜κ°€ μžˆλ‹€λ©΄

i=0 : 1 2 7 9 1    =>  1 2 7 1 9  / 쌍 : (1,2), (2,7), (7,9), (9,1)

i=1 : 1 2 7 1 9    =>  1 2 1 7 9  / 쌍 : (1,2), (2,7), (7,1)

i=2 : 1 2 1 7 9    =>  1 1 2 7 9  / 쌍 : (1,2), (2,1)

i=3 : 1 1 2 7 9    =>  1 1 2 7 9  / 쌍 : (1,1)

i=4 : 1 1 2 7 9    =>  1 1 2 7 9   / 쌍 : x

λ°˜μ‘ν˜•