[백준] 1085번. 직사각형에서 탈출

3016 단어 백준백준

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

대소 비교할 숫자가 x, y, w, h 이렇게 4개밖에 없기 때문에 배열을 만들어서 최솟값을 구하는 건 낭비적이다. 효율적인 방법이 뭐가 있을까 검색해보니 C언어의 '삼항 연산자'를 이용하면 두 개의 값을 쉽게 비교할 수 있다. minX와 minY를 먼저 구하고, 이 둘을 비교해서 최종적으로 min을 구해준다.

https://st-lab.tistory.com/86
https://aorica.tistory.com/135

#include <iostream>
using namespace std;

int main(){
	int x, y, w, h;
	cin >> x >> y >> w >> h;

	int minX = (x > w - x) ? w - x : x;
	int minY = (y > h - y) ? h - y : y;

	int min = (minX > minY) ? minY : minX;

	cout << min;

	return 0;
}

좋은 웹페이지 즐겨찾기