2024_10_11 Kata

SJ.CHO·2024년 10월 11일

알고리즘 Kata

81.

답안 :

class Solution {
	public int solution(int[] arr) {
		int answer = 0;
		if (arr.length == 1) {
			answer = arr[0];
		}
		int g = gcd(arr[0], arr[1]);
		answer = (arr[0] * arr[1]) / g;

		if (arr.length > 2) {
			for (int i = 2; i < arr.length; i++) {
				g = gcd(answer, arr[i]);
				answer = (answer * arr[i]) / g;
			}
		}
		return answer;
	}

	private static int gcd(int a, int b) {
		int r = a % b;
		if (r == 0) {
			return b;
		} else {
			return gcd(b, r);
		}
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Solution s = new Solution();
		int[] arr = { 2, 6, 8, 14 };
		System.out.println(s.solution(arr));
	}
}
  • 알고리즘 설명 :
    • 최대공약수를 구할수 있으면 최소공배수를 쉽게 구할수있음.
    • 해당 최대공약수를 구하기 위해 유클리드호제법을 사용.
    • 완전탐색을 사용 앞의 원소의 최소공배수를 구하며 다음원소의 최소공배수를 구함.
    • 배열이 끝날때까지 반복.

SQL Kata

91.

  • ID 의 값이 홀수이며 평점내에 'boring' 이 들어가지않은 ROW를 평점순으로 정렬

답안 :

SELECT *
FROM Cinema
where MOD(id,2)=1 AND description NOT IN('boring')
ORDER BY rating desc
  • MOD() 함수를 통해 홀수를 구하고 평론 중 boring이 들어간 ROW를 NOT IN() 함수를통해 제거
profile
70살까지 개발하고싶은 개발자

0개의 댓글