입력 코드
#include <stdio.h>
main() {
int x, y, w, h;
int d[4];
scanf("%d %d %d %d", &x, &y, &w, &h);
d[0] = x;
d[1] = y;
d[2] = w - x;
d[3] = h - y;
int i, min;
for (i = 0; i < 3; i++) {
if (d[i] <= d[i + 1]) {
min = d[i];
d[i + 1] = min;
}
else
min = d[i+1];
}
printf("%d\n", min);
}
코드 설명
입력, 반복문과 조건문을 이용하는 문제
#include <stdio.h>
main() {
int x, y, w, h;
scanf("%d %d %d %d", &x, &y, &w, &h);
int d[4] = { x, y, w - x, h - y };
int i, min;
for (i = 0; i < 4; i++) {
if (d[i] > d[i + 1])
min = d[i + 1];
}
printf("%d\n", min);
}
처음에는 이렇게 각 경계선까지의 거리를 배열에 넣고 비교하는 걸로 작성을 했는데 출력이 제대로 되지 않았다.
#include <stdio.h>
main() {
int x, y, w, h;
int d[4];
scanf("%d %d %d %d", &x, &y, &w, &h);
d[0] = x;
d[1] = y;
d[2] = w - x;
d[3] = h - y;
int i, min;
for (i = 0; i < 3; i++) {
if (d[i] <= d[i + 1]) {
min = d[i];
d[i + 1] = min;
}
else
min = d[i+1];
}
printf("%d\n", min);
}
반복문에서 i=3까지 해서 밑에 조건문에서 d[4]랑 비교하면서 에러가 난 것 같다.
↓↓↓ 참고한 사이트
백준(BAEKJOON): 직사각형에서 탈출(1085번)
Source 문제 한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시
editor752.tistory.com
백준 알고리즘 - 1085번 : 직사각형에서 탈출
백준 알고리즘 - 1085번 직사각형에서 탈출 문제입니다. (참고 - https://www.acmicpc.net/problem/1085 ) 코드 ) #include int main() { int x, y, w, h, i, min; int arr[4]; scanf("%d %d %d %d", &x, &y, &w..
jwprogramming.tistory.com
문제 출처
1085번: 직사각형에서 탈출
한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.
www.acmicpc.net
'C' 카테고리의 다른 글
#19. [백준_C언어] 2798 : 블랙잭 (0) | 2021.01.08 |
---|---|
#18. [백준_C언어] 1259 : 팰린드롬수 (0) | 2021.01.07 |
#16. [백준_C언어] 11720 : 숫자의 합 (0) | 2021.01.06 |
#15. [백준_C언어] 11654번 : 아스키 코드 (0) | 2021.01.06 |
#14. [백준_C언어] 10952번 : A+B -5 (0) | 2021.01.06 |