문제 : boj9723
코틀린이랑 자바랑 둘 다 짜는 이유는 우선 코틀린으로 짜보고 -> 자바로 짠 후에 -> 자바를 코틀린으로 변경해서 쓸만한거 줍줍하기 위해서이다. 코틀린 익히기에 상당히 괜찮은 것 같다.
아무튼 문제는 직각 삼각형을 찾으면 된다. 즉, 3개의 변을 입력으로 받은 후에 가장 긴 변의 제곱이 나머지 두 변의 제곱의 합이 되는지 확인하면 된다. 그렇게 된다면 YES, 그렇지 않다면 NO를 출력해주면 된다.
코드(kotlin) : github
import java.io.BufferedReader
import java.io.InputStreamReader
import java.util.*
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val t = readLine().toInt()
var tc = 0
val sb = StringBuilder()
repeat(t) {
var st = StringTokenizer(readLine())
val arr = IntArray(3)
for (i in 0..2) arr[i] = st.nextToken().toInt()
arr.sort()
val answer = arr[2]*arr[2]==arr[0]*arr[0]+arr[1]*arr[1]
sb.append(String.format("Case #%d: %s\n", ++tc, if (answer) "YES" else "NO"))
}
println(sb)
}
코드(java) : github
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
private void solution() throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
for (int tc = 1; tc <= t; tc++) {
StringTokenizer st = new StringTokenizer(br.readLine());
int[] arr = new int[3];
for (int i = 0; i < 3; i++) arr[i] = Integer.parseInt(st.nextToken());
Arrays.sort(arr);
boolean answer = arr[2]*arr[2]==arr[0]*arr[0]+arr[1]*arr[1];
sb.append(String.format("Case #%d: %s\n", tc, answer?"YES":"NO"));
}
System.out.println(sb);
}
public static void main(String[] args) throws Exception {
new Main().solution();
}
}
'PS > BOJ' 카테고리의 다른 글
[자바] 백준 12100 - 2048 (Easy) (boj java) (0) | 2022.07.20 |
---|---|
[코틀린, 자바] 백준 2273 - 줄 서기 (boj kotlin java) (0) | 2022.07.19 |
[자바] 백준 23812 - 골뱅이 찍기 - 돌아간 ㅍ (boj java) (0) | 2022.07.17 |
[자바] 백준 23810 - 골뱅이 찍기 - 뒤집힌 ㅋ (boj java) (0) | 2022.07.16 |
[자바] 백준 23805 - 골뱅이 찍기 - 돌아간 ㄹ (boj java) (0) | 2022.07.15 |
댓글