개발자/C or C++

[백준] 10817번

Mosser 2021. 10. 4.
728x90
반응형

문제

해결 방법

이 문제는 if문을 이용하여 하나씩 비교해가면서 푸는 방법이 있지만, 코드가 지저분해지는 것 같아, 저 같은 경우는 배열에 3개의 수를 입력 받아서 정렬하여 두번째 요소의 값을 출력하는 방식으로 구현하였습니다.

 

소스코드

#include <iostream>
using namespace std;

int main(){
    int num[3];
    int i,j;
    for(i=0;i<3;i++)
        cin>>num[i];

//배열을 정렬하는 반복문 
    int temp;
    for(i=0;i<2;i++){   
        for(j=1;j<3;j++){
            if(num[i]>num[j]){ //두 값을 비교해서 num[i]가 크면 num[i]와 num[j]의 값을 바꾼다.
                //temp 값을 이용하여 값을 바꾼다.
                temp=num[j];
                num[j]=num[i];
                num[i]=temp;
            }

        }
    }

    cout<<num[1]<<endl;

}

for문 안의 내용을 한 예로 들어 설명하자면 아래 그림과 같습니다.​

혹시 다중 for문에 대해서 잘 모르신다면 검색을 통하여 다중 for문에 대해서 공부해보시기 바랍니다.

반응형

'개발자 > C or C++' 카테고리의 다른 글

백준 10950번 [C/C+]  (0) 2021.10.04
[백준] 2739번 [C/C+]  (0) 2021.10.04
[백준] 2884번  (0) 2021.10.04
[백준] 2753번  (0) 2021.10.04
[백준] 9498번  (0) 2021.10.03

댓글