실전 유형 코딩 테스트 모의고사 - 시즌1
    • 01
      모의고사 소개
    • 본 과목 소개
    • 02
      모의고사 진행방법
    • 시험 시작하기
      문제 이동하기
      필기 시험 화면
      코딩 테스트 화면
      시험 결과 확인
    • 03
      사전 체험용 코딩테스트 해설
    • 1번 문제 - 정주행
      2번 문제 - 색종이
    • 04
      1회차 모의 코딩테스트 해설
    • 모의고사 총평
      1번 문제 해설과 답안
      2번 문제 해설과 답안
      3번 문제 해설과 답안
      4번 문제 해설과 답안
    • 05
      2회차 모의 코딩테스트 해설
    • 모의고사 총평
      1번 문제 해설과 답안
      2번 문제 해설과 답안
      3번 문제 해설과 답안
      4번 문제 해설과 답안
      5번 문제 해설과 답안
    2번 문제 해설과 답안
    04 1회차 모의 코딩테스트 해설
    2번 문제 해설과 답안
    * 이 문제의 해설을 보기 전에 색종이 문제를 먼저 공부하고 오시면 좋습니다! 비슷하지만 서로 풀이가 다를 수 밖에 없는 두 문제의 차이에 초점을 맞추고 공부하면 좋습니다.


    중요 포인트


     문제를 읽고 솔루션을 설계하기 전에는 아래의 두 가지를 꼭 점검해야 합니다.

    • 문제에서 직/간접적으로 주어진 모든 정보를 정확히 이해하고 받아들였는지 확인했는가?
    • 나 스스로 문제에서 언급되지 않은 내용을 마음대로 추측/가정하고 있지는 않은지 확인했는가?


     그리고 솔루션을 실제로 구현하고 적용하기 전에 아래의 세 가지를 고려해야 합니다.

    • 내가 설계한 솔루션이 예제 데이터뿐만 아니라 항상 정답을 구해낼 수 있는 일반적인 방법인가?
    • 내가 설계한 알고리즘이 요구하는 시간 복잡도와 공간 복잡도가 문제의 시간/메모리 제한을 지킬 수 있는가?
    • 문제에서 주어진 제한 사항을 활용하고 불필요한 정보 획득을 버려가며 조금 더 경량화된 알고리즘을 설계할 수 있는가?


     물론 이런 과정은 이렇게 말로 설명한다고해서 바로 실전에 적용할 수 있는 것은 아닙니다. 수 많은 문제들을 풀어보며 쌓인 경험을 바탕으로 감각적으로 하게 되는 경우가 많습니다. 하지만 문제의 풀이를 고민하고 다른 사람의 해설을 볼 때에 위의 내용들에 초점을 맞추고 공부해보세요.


    더 공부할 things


     이 문제처럼 계산 과정에서 제곱이나 곱하기가 들어가는 경우 항상 데이터의 범위를 확인합니다. 계산 과정에서 범위 초과가 날 수 있기 때문입니다. 각 변수들의 표현 범위를 대략적으로라도 알고 있는 것이 좋습니다.


    답안 코드


     아래에 세 언어로 각기 다른 방법을 이용해 작성한 코드를 첨부합니다. 세 가지 언어와 방법을 보고 공부해보세요.


    C++ 답안 코드

    cpp


    Java 답안 코드

    java


    Python3 답안 코드

    py
    질문하기