Inflearn Community Q&A
1-A 2309 일곱난쟁이 문제 순열로 풀 때
Written on
·
363
0
http://boj.kr/f6638250b2814e13a909273f55fdf916
순열로 푸는 경우에서 질문입니다.
강사님께서는 sum 변수를 do {} 블록에서 선언하셨는데요. 저는 그냥 전역변수로 선언하고 제출하니 틀리더라고요. 그리고, 디버깅을 해보니 무한루프에 빠집니다.
왜 이런건가요? 조합으로 풀때는 모든 변수를 전역으로 선언해도 맞는데, 순열로 할 때는 sum변수를 do {}블록에서 선언해야만 하는 이유가 궁금합니다.
코테 준비 같이 해요! C++
Quiz
코딩 테스트 문제를 풀 때, 문제 유형에 따라 미리 정해진 알고리즘 분류에만 의존하는 것을 지양해야 하는 이유는 무엇일까요?
알고리즘 분류는 오래된 정보일 수 있어서
실제 문제에서는 어떤 알고리즘을 쓸지 스스로 판단해야 해서
알고리즘 분류는 코딩 테스트에 불필요해서
분류에 의존하면 더 효율적인 알고리즘을 놓칠 수 있어서
Answer 1
0
kundol
Instructor
안녕하세요 go님 ㅎㅎ
순열의 경우 next_permutation을 사용해서 하는 것이고. 그 함수의 특성상 다음 순열의 경우의 수를 만들어내는 것이기 때문에 원본 배열에서의 경우의 수를 고려하기 위해 do를 씁니다.
go 님의 코드에서는 경우의 수마다 sum을 100으로 초기화하는 것이 빠져있습니다.
sum을 디버깅해보시겠어요?
또 질문 있으시면 언제든지 질문 부탁드립니다.
감사합니다.
강사 큰돌 올림.





