해결된 질문
작성
·
287
0
안녕하세요 강사님
http://boj.kr/5dfc0dabb69045c6980f9ea7c7af0072
해당 코드에서 53번째 줄 Board b와 61번째 줄 int bb가 통과 전에는 둘 다 b로 선언해서 맞왜틀로 시간을 좀 썼는데요.. 코드 제출 전에 제가 디버깅할 때는 답도 잘 출력되고 따로 에러도 안 떠서 아무 문제가 없는줄 알았는데 제출할 때만 틀렸습니다가 뜨는 이유가 무엇일까요?
답변 1
2
안녕하세요 종현님 ㅎㅎ
Board b;
for(int i=1; i<=n; i++){
for(int j=1; j<=m; j++){
cin >> b.a[i][j];
}
}
for(int i=0; i<k; i++){
per.push_back(i);
int aa, bb, cc;
cin >> aa >> bb >> cc;
v.push_back({aa,bb,cc});
}
do {
Board temp = b;
여기서 board b를 bb로 했다가 틀렸다는 말씀이시죠?
만약, board b를 나중에 어떠한 코드에서도 참조를 안한다면 그렇게 해도 됩니다.
그러나.
}
do {
Board temp = b;
지금 보면 계속해서 temp에다가 할당하고 있죠?
그렇기 때문에 board b는 board를 담은 변수로써 활동할 수 있게끔 서로 "구분"되어야 하고 그렇기 때문에 int형 bb와는 다른 변수명을 써야 합니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제가 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.