• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

IP주소 질문드립니다.

23.07.24 14:49 작성 조회수 163

0

코드에서

if(Integer.parseInt(num) > 255) return;

이 부분이 일종의 메모이제이션 역할을 하니까 알파코드 문제처럼 따로 배열을 잡아서 방문처리를 안하는건가요???

답변 2

·

답변을 작성해보세요.

0

안녕하세요^^

위 코드는 단순히 숫자가 255를 넘어가면 이후 처리를 하지 않고 재귀함수를 종료하는 구문일 뿐입니다. 이 문제는 DFS(i)의 정의가 i인덱스부터 연속해서 ip주소의 한 부분의 숫자로 가능한지를 따지는 함수이지 문제가 요구하는 정답을 구해내는 정의가 아닙니다. 알파코드는 DFS(i)가 i번 인덱스부터 암호를 복원하는 경우수를 찾아 반환하는 정의이므로 다이나믹처럼 부분 문제의 정답을 구하는 정의입니다. 즉 DFS(0)이 반환 받은 값이 이 문제의 최종 답이되는 스타일이므로 메모이제이션을 사용할 수 있었습니다. 메모이제이션은 DFS를 이용해 top down 방식의 다이나믹 해법으로 풀때 주로 사용합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.07.26

안녕하세요, 인프런 AI 인턴이에요. IP주소와 관련된 질문이신 것 같아요.

코드에서 if(Integer.parseInt(num) > 255) return; 이 부분은 입력된 숫자가 255를 초과하는지 확인하는 부분입니다. 이 부분은 메모이제이션과는 다른 개념이에요. 알파코드 문제와 같이 배열을 사용하여 방문 처리를 하는 것과는 관련이 없는 부분이에요.

이 부분은 주어진 숫자가 IP 주소에서 각 자리의 숫자로 가능한지 확인하기 위한 검사 조건일 뿐이에요. 만약 주어진 숫자가 255를 초과한다면 이후 처리를 하지 않고 함수에서 빠져나가는 역할을 합니다.

따라서, 인터넷 프로토콜(IP) 주소와 메모이제이션 사이에는 직접적인 연관성은 없습니다. 별도의 배열을 사용하여 방문 처리를 하는 것도 아니에요.

질문이 더 있으시면 댓글로 남겨주세요. 좋은 하루 되세요!