티스토리 뷰
반응형
구현(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 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 원랜디
- 희귀
- Python
- 히든
- 자료구조
- 다운
- 10.801
- 초월
- 시즌8
- 불멸
- 알고리즘
- 영원
- 정식맵
- 전설
- 큐
- queue
- 다운로드
- 파이썬
- 10.8
- 패치
- 10.84
- 맵
- 확장팩
- 순위
- 설치
- 스토리
- 10.802
- 원피스랜덤디펜스
- 11.0
- 히든조합
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함