작성
·
289
0
안녕하세요, 강사님. 강의 잘 듣고 있습니다.
제가 교안을 공부하다가 p.117에 있는
예제에 대해서 질문 드립니다.
http://boj.kr/2cb405455d8a4118afa5a962f387388d 처럼
17행을 교안과 달리 }while(next_permutation(b.begin(), b.end())); 으로 작성하면 에러가 나는데 그 이유가 무엇인지 알 수 있을까요?
교안은 }while(next_permutation(b, b + 3)); 로 작성되어 출력이 되어집니다
답변 2
1
안녕하세요 ㅎㅎ 10cm님이 잘 말씀해주셨는데요.
첨언하자면요.
int b[] = {1, 2, 3};
do{
for(int i : b) cout << i << " ";
cout << '\n';
}while(next_permutation(b.begin(), b.end()));
int[]는 정적 배열입니다.
vector<int>는 동적 배열이구요.
정적배열은 지원하는게 많지가 않아요. begin이나 end 조차 지원되지 않습니다.
그러나 우리의 vector는 begin, end, find 등 여러가지가 지원되는 배열입니다.
정적 배열은 레쓰비, vector는 TOP라고 생각하시면 됩니다.
감사합니다.
1