문제 보기 - 짝수 정렬 (tutorial3)

시간 제한 메모리 제한 제출 횟수 통과한 사람 수 비율
1000 ms 32 MiB 127 84 66.14%

$N$개의 자연수 $A[0], A[1], .., A[N-1]$에서 짝수만을 골라 비내림차순 정렬하는 함수 sort_even(N, A)를 작성하세요.

  • N은 주어지는 자연수들의 개수입니다.
  • A는 자연수 N개로 구성된 배열이며, 인덱스는 0 이상 N - 1 이하의 정수입니다.

이 함수에서 짝수만을 정렬한 결과를 S[0], S[1], .., S[M - 1]이라고 합시다. sort_even 함수는 Report(S[0]), Report(S[1]), .., Report(S[M - 1])차례대로 호출함으로써 결과를 반환합니다. 자세한 방법은 아래 인터페이스의 설명에 적혀 있습니다. 만약 배열 A의 원소가 모두 홀수라면, Report 함수를 단 한 번이라도 호출하면 안 됩니다.

서브태스크

서브태스크 1 (40점)

  • N = 5
  • A의 모든 원소는 100 이하

서브태스크 2 (60점)

  • N = 10
  • A의 모든 원소는 10 000 이하

구현 시 유의사항

채점 환경

  • 프로그램의 최대 실행 시간은 1초입니다. 채점 프로그램의 실행 시간이 0.1초를 넘지 않음이 보장되어 있습니다.
  • 메모리 제한은 32MB이며, 스택 메모리 역시 전체 메모리에 포함됩니다.

인터페이스

여기를 클릭하시면 개발에 필요한 인터페이스가 제공됩니다. 이를 이용해서 이 문제를 좀 더 쉽게 해결할 수 있을 것입니다. 아래에 그 설명이 있습니다.

  • 작성해야 할 파일: tutorial3.c 또는 tutorial3.cpp
  • 채점 프로그램 인터페이스: grader.h
  • 견본 채점 프로그램: grader.c 또는 grader.cpp
  • 컴파일 쉘(gcc): compile_c.sh 또는 compile_cpp.sh
  • 입력 예제: example.in, example.out

채점 프로그램 인터페이스(grader.h)가 추가되었지만, [problem:tutorial2] 문제와 같은 방법으로 컴파일하고 입출력 예제를 시험해 볼 수 있습니다.

여러분은 tutorial3.c(pp)을 작성하신 후 이 내용을 복사해서 제출하시면 됩니다. 단, 이 파일의 상단에 있는 #include "grader.h"를 지우고 작성하시면 컴파일 에러가 발생하거나 프로그램이 올바른 답을 내지 못하여 점수를 받을 수 없습니다.

[참고] {{submission:382}}번, {{submission:457}}번 제출을 참고해서 문제를 해결하세요.

이 문제에서 주어지는 견본 채점 프로그램은 표준 입출력(stdin, stdout)으로 입출력을 시행합니다. 견본 채점 프로그램의 입력 형식은 아래와 같습니다.

  • 첫 번째 줄: N
  • 두 번째 줄: A[0], A[1], .., A[N - 1]이 공백을 사이로 두고 주어집니다

견본 채점 프로그램은 여러분이 작성한 함수가 A를 정렬한 결과를 출력합니다.

첨부 파일
파일명 파일 크기
grader.zip 2.0 KiB