inblog logo
|
stupefyee
    알고리즘문제풀기

    [JAVA 문제 풀이] 261. 카펫

    프로그래머스 (42842)
    Stupefyee's avatar
    Stupefyee
    May 16, 2025
    [JAVA 문제 풀이] 261. 카펫
    Contents
    내가 작성한 코드다른 사람의 코드
    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/42842
    notion image
    notion image
     

    내가 작성한 코드

    import java.util.*; class Solution { public int[] solution(int brown, int yellow) { int[] answer = new int[2]; int total = brown + yellow; // 제곱근 이하의 약수만 확인 for (int i = 1; i <= Math.sqrt(total); i++) { if (total % i == 0) { int width = total / i; int height = i; // 내부 노란색 타일 개수 계산 -> -2하는 이유 -> 테두리 타일 제외 if ((width - 2) * (height - 2) == yellow) { answer[0] = width; answer[1] = height; break; } } } return answer; } }
     

    다른 사람의 코드

    class Solution { public int[] solution(int brown, int yellow) { int a = (brown + 4) / 2; // 가로 + 세로 int b = yellow + brown; // 총 타일의 수 // 근의 공식 활용 int[] answer = { (int) (a + Math.sqrt(a * a - 4 * b)) / 2, (int) (a - Math.sqrt(a * a - 4 * b)) / 2 }; return answer; } }
     
    Share article
    Contents
    내가 작성한 코드다른 사람의 코드

    stupefyee

    RSS·Powered by Inblog