작성한 질문수
10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
작성
·
200
0
http://boj.kr/d8b1e5d511d34c0587e641458ebe3ce6
답변 2
재욱님이 잘 답변해주셨네요. ㅎㅎ 감사합니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
감사합니다.
강사 큰돌 올림.
안녕하세요 지나가는 수강생입니다!!
for (int i = 0; i < 9; ++i) {
for (int j = 0; j < i; ++j) {
if (sum - a[i] - a[j] == 100)
{
a[i] = 200;
a[j] = 200;
break;
}
break가 잘못걸려있습니다.
sum - a[i] - a[j] == 100을 만족하는 다른 i, j가 있을 경우, 그 것도 200이 돼버려서 이상한 답이 나오게 됩니다.
그러면 break를 어디 걸어야하나요?
저렇게 break를 거시면 j 반복문만 빠져나가고 i 반복문은 계속 탐색을 하겠죠?
flag 변수같은 것을 추가하셔서 값을 찾으면 flag를 활성화 하셔서 i 반복문에서도 빠져나갈 수 있게 만드셔야 합니다.
아 그렇군요 감사합니다!
그러면 break를 어디 걸어야하나요?