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 |
Tags
- 반려견 홀리스틱
- 반려견 더위
- 쿠팡메크로
- 쿠팡매크로
- 서울대입구 맛집
- 반려견 유기농 사료
- 강아지 종류
- 강아지 더위
- 자동화봇
- 티켓팅메크로
- 국비지원 예습
- 부산 맛집
- 동인천 맛집
- 반려견 사료등급
- 샤로수길 맛집
- 강아지 유기농 사료
- 강아지종류
- 홀리스틱 유기농
- 티켓팅매크로
- 샤로수길 데이트
- 닥스훈트
- 강아지 유기농
- 반려견 열사병
- 반려견 유기농
- 신포동 맛집
- 강아지 열사병
- 강아지
- 강아지 홀리스틱
- 반려견
- 반려견 종류
Archives
- Today
- Total
심심한잉여의 잡동사니
[프로그래머스] 숫자 카드 나누기 레벨2 본문
반응형
import java.util.*;
class Solution {
public int solution(int[] arrayA, int[] arrayB) {
Arrays.sort(arrayA);
Arrays.sort(arrayB);
List<Integer> listA = convertList(arrayA);
List<Integer> listB = convertList(arrayB);
int resultA = result(listA,arrayB);
int resultB = result(listB,arrayA);
return Math.max(resultA, resultB);
}
public List<Integer> convertList(int[] intArr){
List<Integer> result = new ArrayList<Integer>();
int min = intArr[0];
for(int i = min; i>2;i--) {
boolean flag = true;
for(int j : intArr) {
if(j % i != 0) {
flag = false;
break;
}
}
if(flag) {
result.add(i);
}
}
return result;
}
public int result(List<Integer> intList,int[] intArr) {
for(int i : intList) {
boolean flag = true;
for(int j : intArr) {
if(j % i == 0) {
flag = false;
break;
}
}
if(flag) {
return i;
}
}
return 0;
}
}
정렬하여 가장 큰 순서부터 구할 수 있도록 함
convertList 메소드를 통해 A(철수)에 있는 카드를 선별 및 List로 변경
List로 변환 및 선별 시킨 A를 통해 B에 나누지 못하는 가장 큰 값을 구해 리턴(정렬 되어 있었기 때문에 가장 큰 수 부터 비교 가능)
그렇게 구한 값이 B의 가장 작은 값보다 크면 이후 연산 없이 리턴
아니라면 B(영희)의 카드로도 양의 정수를 구해 큰 값을 추출
반응형
'코딩일기 > 코딩테스트 연습' 카테고리의 다른 글
[알고리즘]버블 정렬 (0) | 2022.03.29 |
---|---|
[알고리즘]선택 정렬(Selection Sort) (0) | 2022.03.26 |
JAVA - 프로그래머스 3레벨[해시] - 베스트앨범 (0) | 2022.01.28 |
JAVA - 프로그래머스 2레벨 - 튜플 (0) | 2021.10.20 |
JAVA - 프로그래머스 1레벨 - N번째 수 (0) | 2021.10.18 |