반응형
구현 유형의 문제란?
-풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제
구현 유형의 예시
- 알고리즘은 간단한데 코드가 길어지는 문제
- 실수 연산을 다루고, 특정 소수점 자리까지 출력해야 하는 문제
- 문자열을 특정한 기준에 따라서 끊어 처리해야 하는 문제
- 적절한 라이브러리를 찾아서 사용해야 하는 문제
구현예시)
일반적으로 알고리즘 문제에서 2차원 공간은 행렬의 의미로 사용
for i in range(5):
for j in range(5):
print('(',i,',',j,')',end=' ')
print()
시뮬레이션 및 완전 탐색 문제
시뮬레이션 및 완전 탐색 문제에서는 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 = y + dy[i]
print(nx, ny)
이런 로직으로 동서남북으로 움직이게 된다.
<문제> 상하좌우
위와 같은 문제가 있다. 이 문제를 해결하는 방법을 찾아보자
이 문제는 요구사항만 구현하면 된다.
# N 입력
n = int(input())
x, y = 1, 1
# L,R,U,D 에 따른 이동 방향
dx = [0,0,-1,1]
dy = [-1,1,0,0]
move_types = ['L','R','U','D']
# 이동 계획을 하나씩 확인
for plan in plans:
#이동 후 좌표 구하기
for i in range(len(move_types)):
if plan == move_Types[i]:
nx = x + dx[i]
ny = y + dy[i]
#공간을 벗어나는 경우 무시
if nx <1 or ny < 1 or nx > n or ny >n;
continue
# 이동 수행
x , y = nx, ny
print(x, y)
이 자료는 동빈 나 님의 이코 테 유튜브 영상을 보고 정리한 자료입니다.
참고 : www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC
반응형
'Algorithm' 카테고리의 다른 글
[Algorithm] 16강 : 스택과 큐 자료구조 (0) | 2020.10.29 |
---|---|
[Algorithm] 15강 : 구현 유형 문제 풀이 (0) | 2020.10.28 |
[Algorithm] 13 강 : 그리디 유형 문제풀이 + 백준 알고리즘 11399번 ATM문제 (0) | 2020.10.26 |
[Algorithm] 12 강 : 그리디 알고리즘 개요(탐욕법) (0) | 2020.10.25 |
[Algorithm] 11 강 : 자주 사용하는 라이브러리( 유용한 라이브러리 ) (0) | 2020.10.23 |