티스토리 뷰
반응형
구현(Implementation)
구현이란 알고리즘을 소스코드로 바꾸는 과정이다.
구현 유형의 문제는 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제를 지칭한다.
구현 문제의 유형은 다음과 같다.
- 알고리즘은 간단하지만 코드가 긴 문제
- 실수 연산을 통해 특정 소수점까지 출력해야 하는 문제
- 문자열을 특정 조건에 맞게 처리해야 하는 문제
- 적절한 라이브러리를 활용해야 하는 문제
구현 예제 - 상하좌우 이동
자유롭게 이동할 수 있는 n x n의 공간이 있다.
이 공간은 (1, 1)에서 (n, n)으로 표현할 수 있고, 나의 현재 위치는 (1, 1)이다.
현재 위치에서 임의의 특정 방향으로 이동을 하였을 때 나의 최종 도착 지점의 좌표를 구해보자.
(n x n의 공간을 벗어날 수 없다.)
>> 구현 문제의 경우 직관적으로 코드를 작성했을 때 코드가 상당히 길어질 수 있다.
따라서 현재 위치를 x, y라고 지정하고 이동하게 될 거리를 dx, dy라고 설정하여 접근하였다.
입력된 이동이 상하좌우 중 무엇인지 파악하고 이에 맞춰 x, y에 dx, dy를 더해주며 현재 위치를 재정의하였다.
또한 공간의 범위를 벗어날 경우는 벗어나지 않게 22행처럼 예외 처리를 해주었다.
'파이썬' 카테고리의 다른 글
자료구조 - 큐 (Queue) (0) | 2023.01.05 |
---|---|
자료구조 - 스택(Stack) (0) | 2023.01.03 |
그리디 알고리즘 (Greedy Algorithm) (0) | 2022.12.29 |
파이썬 리스트(List) (0) | 2022.12.27 |
복잡도(Complexity)와 빅오 표기법(Big-O Notation) (0) | 2022.12.27 |
댓글