https://school.programmers.co.kr/learn/courses/30/lessons/42842
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1) 세로의 길이가 최소 3 이상이어야 한다.
2) 넓이가 세로 길이로 나누어 떨어지지 않으면 h를 계속 증가시키면서 test 한다.
3) 면적을 세로길이로 나누면 가로길이도 나온다.
4) 이때, (세로-2) * (가로-2) 했을 때 노란색 넓이와 같아야 한다.

import java.util.*;
import java.io.*;
class Solution {
public int[] solution(int brown, int yellow) {
int[] answer = new int[2];
int w = 0; //가로
int h = 3; //세로
int area = brown + yellow;
while(true){
if(area % h != 0){
h++;
continue;
}
w = area / h;
if((w-2) * (h-2) == yellow){
answer[0] = w;
answer[1] = h;
return answer;
}
h++;
}
}
}
'Algorithm' 카테고리의 다른 글
[BOJ-20055] 컨베이어 벨트 위의 로봇 - JAVA (0) | 2025.02.23 |
---|---|
[프로그래머스] 짝지어 제거하기 - Lv.2 (Java) (0) | 2024.10.17 |
[BOJ_5379] 키로거 (실버 2) - JAVA (0) | 2024.07.19 |
[프로그래머스] 가장 큰 수 - Lv.2 (JAVA) (0) | 2024.04.23 |
[BOJ_2579]계단오르기(실버 3) - JAVA (0) | 2024.01.07 |