프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 나의 풀이
✅ 노란색 사각형 가로, 세로의 조합 구하기 ➡︎ 나머지가 0인 정수의 조합으로 이루어짐
ex) 노란색 격자의 수 : 24 ➡︎ (가로,세로) = {(24,1), (12,2), (8,3), (6,4)} 단, 가로 >= 세로
✅ 카펫의 전체 격자 수 = 카펫의 가로 길이 * 카펫의 세로 길이
노란색 겉으로 테두리 1줄이 갈색인 카펫이므로
노란색 가로 길이 : yellowX ➡︎ 카펫의 가로 길이 : yellowX+2
노란색 세로 길이 : yellowY ➡︎ 카펫의 세로 길이 : yellowY+2
✅ 리턴 타입 변경 ArrayList ➡︎ 배열 추가 쉽게 하기 위함
- 나의 코드
import java.util.*;
class Solution {
public ArrayList solution(int brown, int yellow) {
ArrayList<Integer> answer = new ArrayList<>();
int yellowX = 0;
int yellowY = 0;
// 노란색 수의 조합
for(int i=yellow; i>0; i--) {
if(yellow%i == 0) {
yellowX = i;
yellowY = yellow/i;
if(brown+yellow == (yellowX+2)*(yellowY+2)) {
answer.add(yellowX+2);
answer.add(yellowY+2);
break;
}
}
}
return answer;
}
}
'공부 > 알고리즘' 카테고리의 다른 글
2019 KAKAO BLIND RECRUITMENT > 실패율 (1) | 2024.11.01 |
---|---|
공원 산책 (0) | 2024.10.30 |
2024 KAKAO WINTER INTERNSHIP > 가장 많이 받은 선물 (0) | 2024.08.01 |
같은 숫자는 싫어 (0) | 2024.08.01 |
폰켓몬 (0) | 2024.08.01 |