아하
  • 토픽

  • 스파링

  • 잉크

  • 미션


디지털·가전제품

저능해요

저능해요

코드 작년중간고사 풀이방법 알려주실분 구합니다

풀이 식 좀 알려주세요.

풀이 방법만 알려 주세요.

풀이 방식 좀 알려주세요

풀이 법 좀 알려주세요.

문제 풀이 방식 해결 법 좀 알려주세요

제발요

1개의 답변이 있어요!

  • 사탕수수

    사탕수수

    이 문제는 선택 정렬(Selection Sort) 알고리즘을 이해하면 쉽게 풀 수 있습니다.

    선택 정렬 풀이 방식

    1. 전체 배열에서 가장 작은 값을 찾아 첫 번째 자리로 이동

    2. 남은 배열에서 다시 가장 작은 값을 찾아 두 번째 자리로 이동

    3. 이 과정을 끝까지 반복합니다.

    4. 각 단계마다 배열 상태를 출력하므로, 원하는 단계까지 배열 상태를 계속 바꿔가며 확인하면 됩니다.

    단계별 과정을 처리하려면

    i가 현재 정렬하려는 인덱스

    j는 그 뒤에서 가장 작은 값 찾는 루프

    코드 흐름:

    for (int i = 0; i < size - 1; i++) {

    minIndex = i;

    for (int j = i+1; j < size; j++) {

    if (arr[j] < arr[minIndex])

    minIndex = j;

    }

    swap(arr[i], arr[minIndex]); // 가장 작은 값을 앞으로 옮김

    }

    즉, 핵심은:

    “i번째 이후에서 가장 작은 값을 찾아 i번째와 바꾼다”

    이걸 반복하며 배열이 정렬되는 과정을 추적하면 됩니다