[백준] 5073번 - 삼각형과 세 변 [Java][C++]
[백준] 5073번 - 삼각형과 세 변 [Java][C++]
1. 문제 풀이
삼각형의 종류에 따라 다른 문구를 출력하는 문제로 삼각형이 될 수 없는 조건은 가장 긴 변의 길이가 다른 두 변의 길이 보다 크거나 같은 경우인 것만 주의하면 된다.
2. 코드
1. 구현 [Java]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
while (true) {
st = new StringTokenizer(br.readLine());
int[] sides = {Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken()), Integer.parseInt(st.nextToken())};
Arrays.sort(sides);
if (sides[0] == 0) break;
if (sides[0] + sides[1] <= sides[2]) {
bw.write("Invalid\n");
} else {
if (sides[0] == sides[1] && sides[1] == sides[2]) {
bw.write("Equilateral\n");
} else if (sides[0] == sides[1] || sides[1] == sides[2] || sides[2] == sides[0]) {
bw.write("Isosceles\n");
} else {
bw.write("Scalene\n");
}
}
}
bw.flush();
}
}
2. 구현 [C++]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
while (true) {
vector<int> v(3);
for (int& x : v) cin >> x;
sort(v.begin(), v.end());
if (v[0] == 0) break;
if (v[0] + v[1] <= v[2]) {
cout << "Invalid\n";
} else {
if (v[0] == v[1] && v[1] == v[2]) {
cout << "Equilateral\n";
} else if (v[0] == v[1] || v[1] == v[2] || v[2] == v[0]) {
cout << "Isosceles\n";
} else {
cout << "Scalene\n";
}
}
}
}
3. 풀이 정보
1. 구현 [Java]
| 언어 | 시간 | 메모리 | 코드 길이 |
|---|---|---|---|
| Java 11 | 112 ms | 14128 KB | 1105 B |
2. 구현 [C++]
| 언어 | 시간 | 메모리 | 코드 길이 |
|---|---|---|---|
| C++ 17 | 0 ms | 2020 KB | 636 B |
This post is licensed under CC BY 4.0 by the author.