새소식

Programming/Algorithm

[구현 알고리즘] 시뮬레이션과 완전 탐색

  • -

해당 내용은 아래의 유투브를 보고 참고했음을 밝힙니다~

https://youtu.be/2zjoKjt97vQ?si=fGChNeo644FV1sFd


 

구현 (Implementation)
  • 구현이란, 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정
  • 아무리 알고리즘을 잘 세워도 그것을 코드로 만들지 않으면 동작하지 않음. 
  • 결국엔 모든 문제가 구현이지만, 특정 문제를 구현이라고 부르는 경우가 있음. 
  • 흔히 알고리즘 대회에서 구현 유형의 문제란?
    • 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제
  • 예시
    • 알고리즘은 간단한데 코드가 지나칠만큼 길어짐
    • 실수 연산을 다루고, 특정 소수점 자리까지 출력하는 문제
    • 문자열을 특정한 기준에서 따라서 끊어 처리해야 하는 문제
    • 적절한 라이브러리를 찾아서 사용해야 하는 문제
      • ex) 모든 순열과 모든 조합을 찾는 문제, python - iter~ 라이브러리 사용
  • 많은 코드와 연습이 필요로 함. 

출처: 동빈나 유투브

  • dx = [0, -1, 0, 1]
  • dy = [1, 0, -1, 0]
  • x, y = 2, 2일 때
  • for i in range(4):
    • nx = 2 + dx[0] = 2 + 0 = 2
    • ny = 2 + dy[0] = 2 + 1 = 3
      • (2, 3) 오른쪽으로 한 칸 이동: 동
    • nx = 2 + d[1] = 2 - 1 = 1
    • ny = 3 + d[1] = 3
      • (1, 3) 위로 한 칸 이동: 북
    • nx = 1 + dx[2] = 1 + 0 = 1
    • ny = 3 + dy[2] = 3 - 1 = 2
      • (1, 2) 왼쪽으로 한 칸 이동: 서
    • nx = 1 + d[3] = 1 + 1 = 2
    • ny = 2 + d[3] = 2
      • (2, 2) 아래, 원위치 : 남
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.