백준 - 단계별로 풀어보기/기하: 직사각형과 삼각형

1. 문제 상세 https://www.acmicpc.net/problem/14215 2. 문제 접근 세 변의 길이를 입력받아서 가장 큰 삼각형을 만들고 그 둘레를 출력하자. 이 문제에서 포인트는 막대의 길이를 줄일 수 있다는 것이다. 삼각형에서 세 변 a, b, c 가 있다고 할 때, c 가 가장 긴 변이라면 a + b > c 가 되어야 한다. 따라서 입력받은 세 변의 길이를 오름차순 a, b, c 형식으로 정렬한다. 변의 길이가 a + b > c 이거나 세 변이 모두 같다면 세 변의 길이의 합을 출력한다. 아닌 경우에는 변의 길이를 줄일 수 있으므로 c 의 값이 a + b 의 값보다 작도록, 즉 c 가 a + b - 1 의 값이 되도록 한다. 이 때 삼각형의 둘레의 길이는 a + b + c 이므로 결과..
1. 문제 상세 https://www.acmicpc.net/problem/5073 2. 문제 접근 무한 루프로 계속 반복하여 세 변의 길이 a, b, c 를 입력받자. 값을 입력받고 값이 0 0 0 이면 빠져나온다. 아닌 경우 a, b, c 가 모두 같은지 확인, 맞다면 Equilateral 을 출력. 아닌 경우 가장 큰 변이 두 변을 더한 값보다 큰지 확인, 맞다면 Invalid 를 출력. 아니라면 같은 변이 있는지 확인하여 맞다면 Isosceles 를, 없다면 Scalene 을 출력하자. 3. 문제 풀이 #include using namespace std; int main() { int a, b, c; while (true) { cin >> a >> b >> c; if (a == 0 && b == 0..
1. 문제 상세 https://www.acmicpc.net/problem/10101 2. 문제 접근 입력받은 세 각을 비교하고 조건에 따라 출력하자. 입력받은 세 각을 a, b, c 라고 하자. a, b, c 가 모두 60으로 같은지 확인(a = b, b = c, a = c, a = 60) 하고 맞다면 Equilateral 을 출력한다. a + b + c 의 값이 180인지, a 와 b, 또는 a 와 c, 또는 b 와 c 가 같은지 확인하고 맞다면 Isosceles 를 출력한다. a + b + c 의 값이 180이라면 Scalene 를 출력한다. 모두 아닌 경우 Error 를 출력한다. 3. 문제 풀이 #include using namespace std; int main() { int a, b, c; c..
1. 문제 상세 https://www.acmicpc.net/problem/9063 2. 문제 접근 입력받은 점의 좌표에서 가장 큰 x, y 좌표와 가장 작은 x, y 좌표를 찾는다. 큰 좌표에서 작은 좌표를 빼서 가로, 세로의 길이를 구한다. 이 값을 곱해 직사각형의 넓이를 구한다. 3. 문제 풀이 #include using namespace std; int main() { int n, pos[100000][2], x_min = 10000, y_min = 10000, x_max = -10000, y_max = -10000; cin >> n; for (int i = 0; i > pos[i][0] >> pos[i][1]; x_min = x_min >= pos[i][0] ? po..
1. 문제 상세 https://www.acmicpc.net/problem/15894 2. 문제 접근 맨 아래줄의 정사각형이 n 개일때 둘레의 길이는 4n 이 된다. 따라서 입력받은 정수에 4를 곱한값을 출력하면 된다. 여기서 주의할 점은 n 이 최대 109 까지 입력된다는 점이다. 따라서 변수를 선언 할 때 int 형이 아닌 더 큰 범위를 가지는 long 형 이상의 변수로 선언하자. 3. 문제 풀이 #include using namespace std; int main() { long n; cin >> n; cout
1. 문제 상세 https://www.acmicpc.net/problem/3009 2. 문제 접근 직사각형의 네 점의 좌표에서 규칙을 찾아 문제를 해결하자. 직사각형의 네 점의 좌표들을 살펴보면 총 8개의 x, y 좌표중 같은 x, y 좌표가 네 쌍이 있다는 것을 알 수 있다. 이를 활용하여 세 점의 좌표를 입력받았다면 같은 x, y 좌표가 세 쌍이 나올 것이고 남는 x, y 좌표가 마지막 점의 좌표가 된다. 먼저 입력받은 첫 번째 점의 x 좌표와 두 번째 점의 x 좌표를 비교해 같다면 세 번째 점의 x 좌표를 출력하자. 다르다면 첫 번째 점의 x 좌표와 세 번째 점의 x 좌표를 비교하여 같다면 두 번째 점의 x 좌표를 출력하자. 모두 아닌 경우 첫 번째 점의 x 좌표를 출력한다. y 좌표도 동일하게 비..
Dry_p
'백준 - 단계별로 풀어보기/기하: 직사각형과 삼각형' 카테고리의 글 목록