GCD

    [java] 프로그래머스 (최솟값 만들기) Level 2

    Problem : https://programmers.co.kr/learn/courses/30/lessons/12941 코딩테스트 연습 - 최솟값 만들기 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱 programmers.co.kr Approach 두 배열 A, B를 둘다 정렬 한 후, (A의 최솟값 ) * (B의 최댓값) 들을 곱하여 더하는 방법이 문제에서 말한 최솟값이 된다. 정확히 그런 것이 맞는지도 모르겠지만 왠지 그럴 것 같아 그렇게 풀이를 했는데 테스트를 통과하였다. Code import java.util.Arrays; public clas..

    [java] 프로그래머스 (멀쩡한 사각형) Level 2

    문제 원문 링크 : https://programmers.co.kr/learn/courses/30/lessons/62048 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr Approach 임의의 꼭짓점 (x1, y1) -> (x2, y2) 으로 가는 최소크기로 나누어서 계산한 후, 최소크기의 개수만큼 곱해주는 식으로 풀면 쉽다. 최소크기로 나누었을 때, 선분이 거치는 사각형의 개수 = (최소크기 사각형의 가로 + 세로 - 1) * 최소크기 사각형의 개수인 규칙을 찾을 수 있다. 여기서..