본문 바로가기
오르막길/C++ 공부기록

[백준][C++] 3009번 네 번째 점

by 우씌 2024. 2. 28.
반응형

직사각형을 만들기 위한 4 번째 점을 찾는 문제이다. 구글링 했을 때 if 문을 활용한 답안이 많이 보이길래 삼항연산자로 문제를 푼 풀이를 공유하고자 한다.  if문으로 문제를 풀면 코드를 작성하기 귀찮아져서 삼항연산자를 활용했다.

삼항 연산자는

(조건문) ? 참일때_표현식 : 거짓일때_표현식

와 같은 형태를 띄고 있다.

이 문제를 풀 때 직사각형이 되기 위한 조건으로는 예를 들어서
(1,2) (2,1) (1,2) 라고 했을 때 x 좌표에서 3 값중 다른 값인 2, y 좌표에서 3개 중 다른 값인 1이 튀어나오면 된다.

따라서 출력 값은 2 1이다.

삼항 연산자를 중첩해서 사용할 수 있기 때문에 최종 코드를 보면


#include <iostream>

using namespace std;

int main(){
    int arr[3] = {0,};
    int arr2[3] = {0,};
    
    for(int i = 0; i < 3; i++){
        cin >> arr[i] >> arr2[i];
    }
    
    int x = (arr[0] == arr[1]) ? arr[2] : (arr[1] == arr[2]) ? arr[0] : arr[1];
    int y = (arr2[0] == arr2[1]) ? arr2[2] : (arr2[1] == arr2[2]) ? arr2[0] : arr2[1];
    
    cout << x << " " << y;
    return 0;
}

이 된다.


https://www.acmicpc.net/problem/3009

3009번: 네 번째 점

세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오.

www.acmicpc.net

반응형

'오르막길 > C++ 공부기록' 카테고리의 다른 글

[백준][C++] 2093번 중앙 이동 알고리즘  (0) 2024.03.18
[백준][C++] 11653번 소인수분해  (1) 2024.02.27
2023.07의 공부기록  (0) 2023.08.03
2023.06의 공부기록  (1) 2023.07.01

댓글