[문제]
[코드]
[풀이]
입력받을 점수의 개수 N, 반복문에 쓸 i, j, 임시값 t를 정수로 선언하고 중간값의 위치를 계산할 mid와 배열 a도 정수로 선언해준다.
scanf 함수로 N을 입력받은 뒤 N만큼 반복하도록 for문을 작성해준다. 이때, 배열의 인덱스는 0부터 시작하므로 i도 0부터 시작해준다.
a[0]부터 하나씩 값을 입력받도록 하고 또 다른 for문을 통해 값을 비교하도록 한다.
a[i]는 현재 배열 내에서 수의 크기에 따라 자리를 잡아야 하는 수이고, a[j]는 이미 배열에 위치해있는 수이자 a[i]와 비교할 대상이다.
for문에 의하여 a[i]는 a[0]부터 j가 i와 같아질 때까지 비교를 할텐데, a[i]가 a[j]보다 작을 경우 a[i]는 a[j]와 자리를 바꾸게 된다.
mid는 배열 내 수들 중에서 중앙에 있는 수의 위치를 나타내고, printf 함수를 통해 배열 a 내에서 mid번째 수를 출력하도록 한다.
[결과]
input에 입력사항을 넣어주면 아래와 같은 결과가 나온다.
'C > SWEA' 카테고리의 다른 글
[SWEA] #2047. 신문 헤드라인 (0) | 2021.06.27 |
---|---|
[SWEA] #1966. 숫자를 정렬하자 (0) | 2021.06.27 |
[SWEA] #2027. 대각선 출력하기 (0) | 2021.05.23 |
[SWEA] #1986. 지그재그 숫자 (0) | 2021.05.16 |
[SWEA] #1545. 거꾸로 출력해 보아요 (0) | 2021.05.16 |
댓글