Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 데이터
- aice associate
- KT AIVLE School
- kt aivle school 7기
- kt aivleschool 7기
- 관세용어
- 7일 전사
- KT 에이블스쿨
- 에이블스쿨 7기
- ktaivleschool
- 미니프로젝트
- kt 에이블스쿨 8기
- 에이블스쿨 모집
- AI트랙
- kt 에이블스쿨 7기
- msaez
- kt aivleschool 8기
- 에이블 기자단
- KT에이블스쿨
- 후기
- 기자단
- 데이터분석
- kt에이블스쿨 8기
- 마이크로서비스
- kt에이블스쿨7기
- Kafka
- kt에이블스쿨8기
- ktaivleschool7기
- springboot
- MSA
Archives
- Today
- Total
Hseong
[프로그래머스 고득점 kit - 완전탐색] - 카펫 본문
728x90
반응형
class Solution {
public int[] solution(int brown, int yellow) {
int[] answer = {};
int total = brown + yellow ;
for(int height=3;height<=total/height;height++){
int width = total / height;
if(total%height==0){
if((width-2)*(height-2)==yellow){
return new int[] {width,height};
}
}
}
return new int[0];
}
}
- 해당 문제의 요건을 잘 보면 무조건 가로>= 세로 관계이기 때문에 이를 잡고 조건문을 짜면되고, 잘 생각해보면 yellow 타일이 둘러쌓여있으려면 무조건 height가 3 이상이여야한다
- 일단 전체 타일 갯수를 구한 후에, for 문을 height =3 부터 전체 갯수를 height로 나눈 것보다 작거나 같을 때 까지만 수행한다.
- 그 이유는 가로 * 세로 하면 total 이 나오고, 기본적으로 세로가 가로보다 작거나 같아야 하기 때문이다.
- 그리고 최종적으로 구했다면 어떤 형태이든 격자점은 빼야돼서 최종 갯수에서 각각 2씩 빼고 곱한 것을 return 하면 yellow의 갯수가 나온다!!
728x90
반응형
'Algorithm > Java' 카테고리의 다른 글
[프로그래머스 고득점 kit - 완전탐색] - 피로도 (0) | 2025.04.30 |
---|---|
[프로그래머스 고득점 kit - 완전탐색] - 소수찾기 (1) | 2025.04.30 |
[프로그래머스 고득점 kit - 완전탐색] - 모의고사 (0) | 2025.04.29 |
[프로그래머스 고득점 kit - 완전탐색] - 최소직사각형 (0) | 2025.04.29 |
[프로그래머스 고득점 kit - 정렬] - H-Index (0) | 2025.04.29 |