-
gcd 여러개 해야함CodeingTestPrac/Java Coding Test 2023. 8. 5. 22:34
https://school.programmers.co.kr/learn/courses/30/lessons/135807
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
A = [1,2,43, 123] 의 gcd 를 찾는 경우 ?
요지는 , 데이터 사이즈 보고 순차적으로 돌려 주는것도 괜찮다.
초기값의 세팅을 주의 하자.
import java.util.*; class Solution { public int solution(int[] arrayA, int[] arrayB) { int answer = 0; int a =0 ; int b =0 ; for( int i = 0 ;i<arrayA.length ;i++){ a = gcd(arrayA[i],a); b = gcd(arrayB[i],b); } if(a > 1) { for(int itemB : arrayB) { if(itemB % a == 0 ){ a = 1; break; } } } if(b > 1) { for(int itemA : arrayA) { if(itemA % b == 0 ){ b = 1; break; } } } if(a == 1 && b ==1) {return answer;} return Math.max(a,b) ; } public int gcd(int a , int b) { while( b != 0) { int tmp = b; b = a % b ; a = tmp; } return a; } }
'CodeingTestPrac > Java Coding Test' 카테고리의 다른 글
모든 섬사이의 다리를 만들고 비용 최소를 구하자 , kruskal union find (0) 2023.08.06 1 번부터 가장 먼 거리의 노드의 개수 ? 배열에서 최대값의 개수 구하기 (0) 2023.08.06 멀쩡한 사각형 , 패턴을 찾자. gpt : GCD 한줄 처리 (0) 2023.08.05 DS : Stack "baabaa" (0) 2023.07.14 프로그래머스 야근지수 자바 [14일차](효율성 문제) (0) 2023.07.09