참고 : 탐색으로 안품
링크 :https://school.programmers.co.kr/learn/courses/30/lessons/42842
int[] answer = {0,0};
int sum = brown + yellow;
//약수 구하기
List<Integer> tmpList = new ArrayList<>();
for(int i=sum; i>0; i--){
if(sum%i == 0) {
tmpList.add(i);
}
}
//x값 리스트, y값 리스트 나누기
List<Integer> xList = tmpList.stream()
.limit(//사이즈가 홀수면 1개 추가 ex (1, 3, 9)
tmpList.size()%2 == 0 ? tmpList.size()/2 : tmpList.size()/2+1
)
.collect(Collectors.toList());
List<Integer> yList = tmpList.stream()
.skip(tmpList.size() / 2)
.collect(Collectors.toList());
//작은 순서대로
yList.sort(Integer::compareTo);
//x, y 값 추출후 외각(brown 값과 비교후 맞으면 최종 값에 추가)
for(int i=0; i<xList.size(); i++){
int tmpX = xList.get(i);
int tmpY = yList.get(i);
int round = 2*(tmpX + tmpY) - 4;
if(round == brown){
answer[0] = tmpX;
answer[1] = tmpY;
}
}
'교육 > 코테' 카테고리의 다른 글
[프로그래머스] SQL 입양 시각 구하기(2) - 못품 (0) | 2022.07.26 |
---|---|
[프로그래머스]JAVA 조이스틱 -탐욕 (0) | 2022.07.08 |
[프로그래머스]JAVA 소수찾기 -완전 탐색 (0) | 2022.07.07 |
[프로그래머스]JAVA H-Index -정렬 (0) | 2022.07.07 |
[프로그래머스]JAVA 가장 큰 수 -정렬 (0) | 2022.07.07 |