깊이 우선 탐색 예제 - 2

문제 분석

  • DFS를 재귀 함수로 자릿수 개념을 붙여 구현해본다.

손으로 풀어보기

  • 우선 자릿수가 한 개인 소수는 2, 3, 5, 7이므로 이 수부터 탐색을 시작한다.

  • 이어서 자릿수가 두 개인 현재 수 * 10 + a를 계산하여 이 수가 소수인지 판단하고, 소수라면 재귀 함수로 자릿수를 하나 늘린다.

  • 이때, a가 짝수인 경우는 항상 2를 약수로 가지므로 가지치기로 a가 짝수인 경우를 제외한다.

  • 이런 방식으로 자릿수를 N까지 확장했을 때 그 값이 소수라면 해당 값을 출력한다.

img_5.png

슈도코드

코드 구현 - 파이썬

코드 구현 - 자바

Last updated