강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

khs29216님의 프로필 이미지
khs29216

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

1-A 질문있습니다.

해결된 질문

작성

·

307

0

http://boj.kr/d77ee0664b7049ed849e1aa6776fb359

다른 코드들과 비교해보는데도 왜 틀렸다고 하는지 모르겠습니다 ㅜㅜㅜ

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요. heungsu0101님 ㅎㅎ

break;문은 가장 가까운 반복문을 탈출하는 코드입니다. 그렇기 때문에 저렇게 하면 안되구요.

flag를 기반으로 하나 더 탈출하는 걸 작성해주셔야 합니다.

이렇게 하시면 됩니다.

#include <bits/stdc++.h>

using namespace std;

int a[9], b, sum;

int main()
{
    for (int i = 0; i < 9; i++) {
        cin >> a[i]; sum += a[i];
    }
    sort(a, a + 9);
	bool flag = 0; 
    for (int i = 0; i < 9; i++) {
        for (int j = i + 1; j < 9; j++) {
            // 가짜 난쟁이 2명 찾았을 때
            if (sum - a[i] - a[j] == 100) {
                for (int k = 0; k < 9; k++) {
                    if (k == i || k == j) continue;
                    cout << a[k] << '\n';
                    flag = 1;
                }
                break;
            }
        }
        if(flag)break;
    }
    
    return 0;
}

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

감사합니다.

강사 큰돌 올림.

khs29216님의 프로필 이미지
khs29216
질문자

답변 정말 감사합니다!! 좋은 강의 잘 듣고 있습니다. 감사합니다.

khs29216님의 프로필 이미지
khs29216

작성한 질문수

질문하기