구현이란?

구현은 '머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정' 을 의미한다.

단순히 문제를 보고 떠오르는 과정을 코드로 옮기는 피지컬적인 문제들이 이에 해당한다고 볼 수 있다.

책에서는

"완전 탐색" 유형 => 모든 경우의 수를 주저 없이 다 계산하는 유형

"시뮬레이션" 유형 => 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행해야 하는 유횽

을 모두 구현 유형으로 묶어서 다루고 있다. 

보통 이 구현 문제들의 예시로는

  • 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제
  • 특정 소수점 자리까지 출력해야 하는 문제
  • 문자열을 특정한 기준에 따라서 끊어 처리해야 하는 문제
  • 적절한 라이브러리를 찾아서 사용해야 하는 문제
  • 2차원 배열에서의 이동, 회전 등 까다로운 문제

문제들과 같은 예시들이 존재한다.

주의사항

c/c++과 java에서 주의해야 할 사항

보통 int 자료형을 다룰 때 다음 범위보다 큰 수가 존재할 경우 이를 다룰 수 없기 때문에 고려하여 코드를 구현해야 한다.

파이썬에서는 프로그래머가 직접 자료형을 지정하는 경우가 적기 때문에 이런 사항을 고려하는 일이 적다.

접근 방법

문제는 긴 경우가 많으나 큰 사고력을 필요로 하지는 않기 때문에

천천히 문제를 읽고 이를 코드로 옮기면 되는 경우가 많다.

이해가 되지 않는 경우에는 A4용지를 사용해 코드를 구체화 시켜 보는 것도 방법

+ Recent posts