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
- 웹해킹
- leetcode
- hackerrank
- SQL Injection
- todo List
- 미터프리터
- 써니나타스
- ToDoList
- StringBuilder
- 취약점진단
- metasploit
- todo
- study
- 모드 설정
- CSRF
- algotithm
- wpscan
- Suninatas
- SQLMap
- meterpreter
- stock price
- 취약점
- Algorithm
- programmers
- Router
- 모의해킹
- java
- 라우터
- 정보시스템
- HTML Injection
Archives
- Today
- Total
보안 / 개발 챌린저가 목표
[AlphaGo Study] [Programmers] [JAVA] 카펫 본문
문제 설명
Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다.
Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다.
Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요.
제한 사항
👉 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다.
👉 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다.
👉 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 깁니다.
입출력 예
brown | yellow | return |
10 | 2 | [4, 3] |
8 | 1 | [3, 3] |
24 | 24 | [8, 6] |
programmers.co.kr/learn/courses/30/lessons/42842
문제를 풀기 전 THINK
💡 가로 = row / 세로 = col
💡 area(넓이) = 가로 * 세로 = brown + yellow
💡 perimeter(둘레) = 가로 + 세로 = (brown + 4) / 2
► brown = (가로 * 2) + (세로 - 2) * 2 에서 바꾸면 위의 식이 도출됨
나의 Solution
public class Carpet {
public int[] solution(int brown, int yellow) {
int[] answer = {0, 0};
int area = brown + yellow; // 가로(row) * 세로(col)
int perimeter = (brown + 4) / 2; // 가로(row) + 세로(col)
for(int col = 1; col < area; col++) {
int row = area / col;
if(row * col == area) { // i*j가 area이면 배수 이므로
if(row + col == perimeter) {
answer[0] = row;
answer[1] = col;
break;
}
}
}
return answer;
}
}
'Development > Algorithm' 카테고리의 다른 글
[AlphaGo Study] [Programmers] [JAVA] 프린터 (0) | 2020.11.11 |
---|---|
[AlphaGo Study] [Programmers] [JAVA] 위장 (0) | 2020.11.06 |
[AlphaGo Study] [Programmers] [JAVA] 다리를 지나는 트럭 (0) | 2020.11.06 |
[AlphaGo Study] [Programmers] [JAVA] 주식가격 (0) | 2020.10.27 |
[AlphaGo Study] [Programmers] [JAVA] 캐시 (0) | 2020.10.23 |
Comments