inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)

Permutation

dfs()에서 result.add() 부분 질문이요!

186

hhm

작성한 질문수 6

1

if (list.size() == nums.length) {
List<Integer> temp = new ArrayList<>(list);
result.add(temp);
        //return;
}

저는 dfs() 메소드의 if 구문에서 result 리스트에 결과가 추가되면
위 코드 아래부분인 for문이 돌지 않게 해야겠다는 생각으로
위에 작성한 코드같이 return;을 줬었는데, 있으나 없으나 결과가 같더라구요.

없어야 하는게 맞는 건가요~?

코테 준비 같이 해요! java

답변 1

0

푸샵맨 코딩스터디

안녕하세요

이문제는 호출을 잘 보셔야합니다.  호출하면서 다시 안에서 호출하기때문에

스택에 쌓이는 것처럼 호출이 됩니다.

디버깅을 걸어서 흘러가는걸 다 체크해보세요.

질문주신 부분은:

아래처럼 int test 를 만들어서 return을 적용해도 27번 호출,

return을  주석처리해도  27번이 호출됩니다.

  int count=0;

int test =0;

private void dfs(int[] nums, List<List<Integer>> lists, List<Integer> cur) {

    if (cur.size() == nums.length) {

        List<Integer> list = new ArrayList<>(cur);

        lists.add(list);

    test++;

        System.out.println("test : "+test);

//         return ;

    }

강의자료에 나오는 m과 n의 범위가 코딩하고 다른거 같습니다

0

254

0

나선형매트릭스 깃허브에 코드가 없는것같아요

0

209

0

로그 파일의 데이터 재정렬 코드가 깃허브에 없어요!

0

223

0

새로 생긴 기초강의 질문드려요

1

374

1

질문드립니다

1

219

1

Unique Paths Integer 질문입니다

0

219

1

subString 방법으로 문제 풀이 영상은 짤린건가요?

1

251

1

DFS 방식으로 푼 것이 맞나요?

0

307

2

질문드립니다~

0

196

1

left if문에 대해서

1

256

1

오타 인가요?

1

237

1

안녕하세요 강사님

1

189

1

질문 드립니다

0

172

2

Queue&Stack 문제해설집 문의

0

183

1

문제분석 로직 질문

1

230

1

시간 복잡도 문의드립니다.

1

231

1

시간복잡도 질문드립니다.

1

201

1

for-each 문 질문있습니다!

0

293

1

강의영상에서 사용된 로그 메소드가 궁금합니다.

2

281

2

강의자료 + 문제 이해 관련 질문입니다

1

278

3

강사님 오류맞나요?

1

206

1

강사님 시간 복잡도에 대해서 질문드립니다.

1

172

1

질문입니다.

1

201

1

문제에 대한 이해

1

313

1