반응형
    
    
    
  📌강의 정리
반복문을 두개 돌려서 정렬한다.
두번째 반복의 인수를 이용해서 배열의 원소를 차례로 전부 두개씩 비교한다.
두개씩 비교하며 뒤의 것이 작으면 앞과 뒤를 바꾸기 때문에 반복이 진행될때마다 제일 큰 수가
뒤로 가게된다.
📌느낀점
이번 역시 어렵지는 않았다.
단, 강사님께서는 조금이라도 횟수를 줄이기 위해 생각과 시도를 하셨다는점이 대단했다.
다 풀었다고 끝이 아니라 아주 조금이라도 복잡도를 줄이기 위해 고민해봐야한다.
(특히 이런 배열관련 반복문제에서 끝까지 반복안해도 되는 경우)
//나의 코드
<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function solution(arr) {
        let answer = arr;
        for (let i = 0; i < arr.length; i++) {
          for (let j = i + 1; j < arr.length; j++) {
            if (arr[j - 1] > arr[j]) {
              [arr[j - 1], arr[j]] = [arr[j], arr[j - 1]];
            }
          }
        }
        return answer;
      }
      let arr = [13, 5, 11, 7, 23, 15];
      console.log(solution(arr));
    </script>
  </body>
</html>
//강사님 코드
<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function solution(arr) {
        let answer = arr;
        for (let i = 0; i < arr.length - 1; i++) {
          for (let j = 0; j < arr.length - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
              [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
            }
          }
        }
        return answer;
      }
      let arr = [13, 5, 11, 7, 23, 15];
      console.log(solution(arr));
    </script>
  </body>
</html>
반응형
    
    
    
  'JS 알고리즘 문제풀이 > 섹션 7. 정렬과 그리디, 결정알고리즘' 카테고리의 다른 글
| 6.장난꾸러기 현수 (0) | 2022.07.04 | 
|---|---|
| 5.Least Recently Used(카카오 캐시 문제 변형) (0) | 2022.07.03 | 
| 4.삽입정렬 (0) | 2022.07.02 | 
| 3.Special Sort(버블정렬응용) (0) | 2022.07.01 | 
| 1.선택정렬 (0) | 2022.06.29 |