c++

백준 c++ 1085 문제 풀이

psb08 2025. 4. 11. 08:04
728x90
반응형

문제 링크 : https://www.acmicpc.net/problem/1085

목차

1. 설명

 

2. 내 코드

 

3. 문제 풀이 해석 내용

 

4. 실행 결과

 

설명

백준 브론즈 3 문제 입니다.

문제명 : 직사각형에서 탈출

 

옛날에 풀고 블로그 작성까지 했었던 문제이지만, c++로 다시 풀어보았습니다.

 

내 코드

#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	std::cout.tie(NULL);


	int x, y, w, h;
	cin >> x >> y >> w >> h;

	int array[4];
	array[0] = h - y;
	array[1] = y;    
	array[2] = w - x; 
	array[3] = x;    

	int result = *min_element(array, array + 4);
	cout << result << endl;

}

 

문제 풀이 해석 내용

 

변수 선언 및 입력 처리

int x, y, w, h;
cin >> x >> y >> w >> h;

x, y: 점의 좌표를 나타냅니다.
w, h: 직사각형의 너비와 높이를 나타냅니다.
사용자로부터 이 네 개의 값을 입력받습니다.

 

 

거리 계산

int array[4];
array[0] = h - y;
array[1] = y;    
array[2] = w - x;
array[3] = x;

array 배열을 사용하여 각 경계까지의 거리를 저장합니다:
array[0]: 점 (x, y)에서 위쪽 경계까지의 거리 (h - y).
array[1]: 점 (x, y)에서 아래쪽 경계까지의 거리 (y).
array[2]: 점 (x, y)에서 오른쪽 경계까지의 거리 (w - x).
array[3]: 점 (x, y)에서 왼쪽 경계까지의 거리 (x).

 

 

최소 거리 계산 및 출력

int result = *min_element(array, array + 4);
cout << result << endl;

min_element 함수를 사용하여 array 배열에서 최소값을 찾습니다.
계산된 최소 거리를 result에 저장하고, 이를 출력합니다.

 

 

실행 결과

 

'c++' 카테고리의 다른 글

백준 c++ 1157 문제 풀이  (0) 2025.04.13
백준 c++ 1978 문제 풀이  (0) 2025.04.12
백준 c++ 27433 문제 풀이  (0) 2025.04.10
백준 c++ 10870 문제 풀이  (0) 2025.04.09
백준 c++ 18870 문제 풀이  (0) 2025.04.08