강의

멘토링

로드맵

Inflearn Community Q&A

griotold's profile image
griotold

asked

10-Week Completion C++ Coding Test | Algorithm Coding Test

[Must Read] How to ask questions

1-A 2309 일곱난쟁이 문제 순열로 풀 때

Written on

·

363

0

http://boj.kr/f6638250b2814e13a909273f55fdf916

순열로 푸는 경우에서 질문입니다.

강사님께서는 sum 변수를 do {} 블록에서 선언하셨는데요. 저는 그냥 전역변수로 선언하고 제출하니 틀리더라고요. 그리고, 디버깅을 해보니 무한루프에 빠집니다.

왜 이런건가요? 조합으로 풀때는 모든 변수를 전역으로 선언해도 맞는데, 순열로 할 때는 sum변수를 do {}블록에서 선언해야만 하는 이유가 궁금합니다.

코테 준비 같이 해요! C++

Quiz

코딩 테스트 문제를 풀 때, 문제 유형에 따라 미리 정해진 알고리즘 분류에만 의존하는 것을 지양해야 하는 이유는 무엇일까요?

알고리즘 분류는 오래된 정보일 수 있어서

실제 문제에서는 어떤 알고리즘을 쓸지 스스로 판단해야 해서

알고리즘 분류는 코딩 테스트에 불필요해서

분류에 의존하면 더 효율적인 알고리즘을 놓칠 수 있어서

Answer 1

0

kundol님의 프로필 이미지
kundol
Instructor

안녕하세요 go님 ㅎㅎ

순열의 경우 next_permutation을 사용해서 하는 것이고. 그 함수의 특성상 다음 순열의 경우의 수를 만들어내는 것이기 때문에 원본 배열에서의 경우의 수를 고려하기 위해 do를 씁니다.

go 님의 코드에서는 경우의 수마다 sum을 100으로 초기화하는 것이 빠져있습니다.

sum을 디버깅해보시겠어요?

또 질문 있으시면 언제든지 질문 부탁드립니다.

감사합니다.

강사 큰돌 올림.

griotold's profile image
griotold

asked

Ask a question