2주차 - 구현
코딩테스트

2주차 - 구현

728x90

Implementation

머릿속에 있는 알고리즘을 정확하고 빠르게 프로그램으로 작성하는 과정을 구현이라고 합니다.

대체적으로 풀이를 떠올리는 것은 쉽지만 구현 과정이 까다로운 문제들을 구현 문제라고 칭합니다.

동일한 알고리즘이라면 더 간결하고 효율적으로 작성한 코드가 잘 작성된 코드이므로, 문제 해결 아이디어를 떠올리는 것과 별개로 구현 능력은 코딩 테스트 뿐만 아니라 실무에서도 매우 중요합니다.

💡 구현 능력이 요구되는 대표적인 알고리즘 유형

  • 완전 탐색 
    • 모든 경우의 수를 빠짐없이 계산하는 해결 방법
    • 문제에 주어진 입력 조건들을 잘 파악해서 제한 시간안에 작성한 코드가 돌아갈 수 있는지를 파악할 줄 알아야합니다

  • 시뮬레이션
    • 문제에서 제시하는 논리나 동작 과정을 그대로 코드로 옮겨야 하는 유형
    • dx, dy를 이용한 좌표 활용 문제가 자주 등장합니다.
      • 좌표 평면에서 벗어남 검사.
      • 동 서 남 북 방향에 따라 변화하는 좌표에 대한 이해

  • 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제
  • 실수 연산을 다루고, 특정 소수점까지 출력해야 하는 문제
  • 문자열을 특정한 기준에 따라서 끊어 처리해야 하는 문제
  • 적절한 라이브러리를 찾아서 구현해야 하는 문제

복잡한 요구 사항들과 예외 케이스 확인을 위해 적절한 반복문, 재귀 함수 사용이 필요합니다. 따라서 일반적으로는 BFS/DFS알고리즘을 사용하여 문제를 해결합니다. 경우의 수를 고려해야 하는 경우가 많기 때문에 itertools 라이브러리를 활용한 순열 조합 함수를 이용하는 경우도 존재합니다.

 

728x90

'코딩테스트' 카테고리의 다른 글

구현_심화8) 문자열 재정렬  (0) 2023.09.21
구현_심화7) 럭키 스트레이트  (0) 2023.09.21
그리디 1-4) 1이 될 때까지  (0) 2023.09.21
그리디 1-3) 숫자 카드 게임  (1) 2023.09.21
그리디 1-2) 큰 수의 법칙  (0) 2023.09.21