From c228cae4e15af23b60670920713b4b2a25f0af77 Mon Sep 17 00:00:00 2001 From: jiyeon-agnes-lee Date: Tue, 14 Jun 2022 23:17:12 +0900 Subject: [PATCH] 220614_solve : Programmers_lee(Lv1, Lv2) --- ...\202\254\352\260\201\355\230\225_lee.java" | 19 +++++++++++++++++++ ...\202\254\352\260\201\355\230\225_lee.java" | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 "0616/Programmers/Lv1/\354\265\234\354\206\214\354\247\201\354\202\254\352\260\201\355\230\225_lee.java" create mode 100644 "0616/Programmers/Lv2/\353\251\200\354\251\241\355\225\234\354\202\254\352\260\201\355\230\225_lee.java" diff --git "a/0616/Programmers/Lv1/\354\265\234\354\206\214\354\247\201\354\202\254\352\260\201\355\230\225_lee.java" "b/0616/Programmers/Lv1/\354\265\234\354\206\214\354\247\201\354\202\254\352\260\201\355\230\225_lee.java" new file mode 100644 index 0000000..733dd47 --- /dev/null +++ "b/0616/Programmers/Lv1/\354\265\234\354\206\214\354\247\201\354\202\254\352\260\201\355\230\225_lee.java" @@ -0,0 +1,19 @@ +class Solution { + public int solution(int[][] sizes) { + int maxW = 0; + int maxH = 0; + for(int i = 0; i < sizes.length; i++){ + // 가로는 주어진 명함 가로 세로 중 더 큰 것 + int w = Math.max(sizes[i][0], sizes[i][1]); + // 세로는 더 작은 것 + int h = Math.min(sizes[i][0], sizes[i][1]); + // 가로 최대 값 갱신 + maxW = Math.max(maxW ,w); + // 세로 최대 값 갱신 + maxH = Math.max(maxH ,h); + } + int answer = maxW * maxH; + return answer; + } + +} \ No newline at end of file diff --git "a/0616/Programmers/Lv2/\353\251\200\354\251\241\355\225\234\354\202\254\352\260\201\355\230\225_lee.java" "b/0616/Programmers/Lv2/\353\251\200\354\251\241\355\225\234\354\202\254\352\260\201\355\230\225_lee.java" new file mode 100644 index 0000000..b5839cf --- /dev/null +++ "b/0616/Programmers/Lv2/\353\251\200\354\251\241\355\225\234\354\202\254\352\260\201\355\230\225_lee.java" @@ -0,0 +1,19 @@ +class Solution { + public long solution(int w, int h) { + long wv = Long.valueOf(w); + long hv = Long.valueOf(h); + long gcd = findgcd(wv, hv); + // 전체 넓이 - (가로/최대공약수 + 세로/최대공약수 -1) * 반복(최대공약수만큼) -> 못쓰는 사각형 + long answer = wv * hv - (wv/gcd + hv/gcd - 1) * gcd; + return answer; + } + // 최대공약수 + public long findgcd(long w, long h) { + while(h != 0) { + long r = w % h; // 나머지를 구해준다. + w = h; + h = r; + } + return w; + } +}