Posted:      Updated:

구현(Implementation)

기본적으로 머릿속에 있던 어떤 알고리즘과 생각을 소스코드로 바꾸는 과정이다.
머릿속으로 세운 알고리즘을 실제로 코드로 작성해서 프로그램으로 만들 수 있어야 한다.
알고리즘 문제를 푸는 과정에서 구현은 반드시 필요한 과정이다.

사실 모든 문제는 구현이라고 할 수 있겠지만, 일반적으로 구현 유형의 문제라고 하면 구현에 초점이 맞춰져 있거나 풀이를 떠올리는 것은 쉽지만 구현이 어려운 문제를 의미한다.

예시

  • 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제
  • 실수 연산을 다루고, 특정 소수점까지 출력해야 하는 문제
  • 문자열을 특정한 기준에 따라서 끊어 처리해야 하는 문제
    • 파이썬이 다른 언어보다 편리한 편이다.
  • 적절한 라이브러리를 찾아서 사용해야 하는 문제
    • 미리 사용 방법을 알고 있어야 한다.
    • 사용 방법을 모르면 하나하나 구현해야 해서 난이도가 올라간다.

행렬(Matrix)

행렬

일반적으로 2차원 공간을 행렬의 의미로 사용한다.

방향

시뮬레이션 및 완전 탐색 문제에서는 2차원 공간에서의 방향 벡터가 자주 활용된다.

  • 소스코드
dx = [0, -1, 0, 1]
dy = [1, 0, -1, 0]

x, y = 2, 2  # 현재 위치

for i in range(4):
    nx = x + dx[i]
    ny = x + dy[i]
    print(nx, ny)

댓글남기기