예전에는 정보올림피아드에서도 코드를 작성하고 실행화일을 제출하고

채점자가 여러가지 Test Case 넣어보는 방식으로는 진행을 하였으나

얼마전 부터는 국내 대회에서도 온라인 채점 방식으로 바뀌었습니다.

 

심지어는 제출하면 실시간(?)으로 순위와 점수를 표시해주기도 합니다.

 

최근 여러 회사에서 온라인채점 시스템으로 입사시험을 보는데

(검색해보니 S모사 말고도 몇회사가 있네요. 취준생들은 아시겠지요?)

 

온라인 시스템을 알면 도움이 되는 점이 있습니다.

 

온라인시스템으로 확인할 있는

1) 실행시간

2) 코드 크기 (컴파일전/실행화일)

3) 사용 메모리량 (메모리별)

4) 입력에 대한 출력 비교

 

온라인시스템으로 확인할 없는

1) Readability

2) 코딩 스텐다드

3) 알고리즘

4) 예상하지 못한 Test Case

 

재미 있는 것이 알고리즘(실제로는 Problem Solving 이지만시험을 보는 것인데

무슨 알고리즘을 사용했는지 없습니다.

 

알고리즘을  없으니 해당 알고리즘이 맞는지 여러가지 TC 대한 입력 결과와 출력 결과를

제출한 코드를 컴파일해서 비교해 보는 것입니다.

 

그래서 문제에는 기본적인 Test Case 주고 실제 많은 Test Case 채점시에 확인을 하는 것입니다.

 

만약 전체 Test Case 알려주면 모든 입력에 대해 출력을 하드코딩하는 경우

코드를 보지 않으면 확인 없습니다.

 

, 말이 길어지는데 여기서 한가지 힌트가 있는데

많은 알고리즘 책에 여러가지 정렬 알고리즘을 분석하고 있고 웹상에서 모사의 시험을 준비한다고

하면서 여러가지 정렬 알고리즘을 짜보고 코드를 올리는 분들 봤는데

 

온라인채점 시스템으로는 특정 정렬 알고리즘을 물어볼 없으니

특정 정렬 알고리즘으로 정렬을해라 하는 문제는 나올 없습니다.

정렬은 나중 면접용으로만 준비하시고 실기(?)시험 용으로는 하실 필요가 없습니다.

(정렬의 종류 특징, 어떤 경우에 빠르고 느리게 되는가 이런 것을 면접에서 답할 있는)

 

물론 정렬 알고리즘 별로 속도의 차이가 있으나 TC 따라 많이 다르기 때문에 구분을 없습니다.

가장 짜기 쉬운 정렬하나만 할줄 알면 됩니다. 대부분 그게 버블정렬이지요?

 

아주 특별한 정렬 알고리즘은 필요한데 이건 다음에 설명을 드리겠습니다.

 

#삼성_소프트웨어_역량_테스트

+ Recent posts