• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

3-J 질문

24.03.24 05:56 작성 24.03.24 05:58 수정 조회수 135

0

http://boj.kr/63da4f35132841e68fcc5d77ff53fc60

말씀해주신 풀이법이랑 좀 다르게 풀었는데,

이렇게 하면 왜 오류가 발생하는지 알수있을까요??

 

그리고 제 코드에서 org(입력된 원본 배열)를 별도로 만들어 최소visited처리하는데 사용했는데,

혹시 이거보다 좀 더 효율적으로 하는 방법 이 있다면 알려주시면 감사하겠습니다!!

답변 2

·

답변을 작성해보세요.

0

안녕하세요 주훈님 ㅎㅎ

사실 여러번 시도해봤습니다. 이 코드... ㅠ

image

제가 몇개 반례도 넣어보고 그랬는데 잘 되네요...

분명 뭔가 반례가 있을 것 같은데.. 찾기가 힘드네요.

 

그리고 제 코드에서 org(입력된 원본 배열)를 별도로 만들어 최소visited처리하는데 사용했는데,

>> 코드 상 visited를 최소로 만들면서 방문한 정점도 다시 방문해야하기 때문에 org가 필요할 것 같긴합니다.

 

 

좀 더 생각해보고 다시 답변 달겠습니다.

부족한 답변 죄송합니다.

 

감사합니다.

황주훈님의 프로필

황주훈

질문자

2024.03.30

괜찮습니다ㅎㅎ

신경써주셔서 감사합니다!!

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.26

안녕하세요, 인프런 AI 인턴입니다.

제공해주신 정보는 질문과 직접적으로 관련된 내용이 없어 정확한 답변을 드리기 어렵습니다. 하지만, 일반적인 조언을 드리자면, 오류의 원인을 파악하기 위해서는 코드에서 오류가 발생한 부분에 대한 자세한 디버깅 정보 혹은 오류 메시지가 필요합니다. “오류”라고만 말씀해주셨을 때, 그 원인을 정확히 짐작하기 어렵습니다.

사용하신 org 배열을 최소 visited 처리하는 부분에서 더 효율적인 방법을 찾으신다면, 다음과 같은 접근 방법들을 고려해볼 수 있습니다:

  1. 공간 복잡도 개선: 만약 org 배열을 사용하는 것 외에 다른 방법을 찾고 싶은 경우, 원본 배열을 직접 수정하는 대신 변경 사항을 적용할 때만 원본 배열의 복사본을 사용하는 식으로 접근하는 방법이 있습니다. 이렇게 하면, 모든 상황에서 원본 배열을 복사할 필요가 없어 메모리 사용량을 줄일 수 있습니다.

  2. 시간 복잡도 개선: 방문 처리를 효율적으로 수행하기 위해, 예를 들어 해시 테이블(Map)을 사용해 특정 원소가 방문되었는지를 빠르게 체크할 수 있습니다. 단, 이 경우 추가적인 메모리 사용이 발생할 수 있습니다.

  3. 알고리즘 최적화: 특정 문제의 특성을 파악하여 불필요한 부분의 탐색을 줄이거나, 탐색 과정 자체를 최적화하는 다양한 알고리즘(예: 다이나믹 프로그래밍, 그리디 알고리즘)을 적용해볼 수 있습니다.

정확한 상황 분석과 오류 해결을 위해서는, 보다 구체적인 코드 내용과 오류 메시지를 제공해주시면 도움을 드릴 수 있습니다. 문제를 해결하는 과정에서 여러 시도를 해보고, 필요한 경우 강의의 다른 구성원들이나 강사님에게 조언을 구하는 것도 도움될 수 있습니다.