Skip to main content

250828


image.png

시티스 ok

어제자내용 ok

5 6 7 본 B 안 ok

\품 테두리 ok


Java socket 프로그래밍

동빈나


코테 5개만

  • 헤비 유저가 소유한 장소 ok 포스팅완료
  • 점프와 순간 이동
  • 귤 고르기 ok
  • N개의 최소공배수 ok
  • 멀리뛰기 ok - 피보나치


N개의 최소공배수

class Solution {
    public int solution(int[] arr) {
        int answer = arr[0];
        for (int i = 0; i < arr.length - 1; i++) {
            answer = lcm(answer, arr[i]);
        }
        return answer;
    }
    
    // 최대공약수
    public static int gcd(int a, int b) {
        // a % b를 반복해서 나머지가 0이 될 때의 a가 최대공약수
        while (b != 0) {
            int temp = a % b;
            a = b;
            b = temp; 
        }
        return a;
    }
    
    // 최소공배수
    public static int lcm(int a, int b) {
        return a * b / gcd(a, b);
    }
}
class Solution {
    public int solution(int[] arr) {
        int answer = arr[0];
        for (int i = 1; i < arr.length; i++) {
            answer = lcm(answer, arr[i]);
        }
        return answer;
    }
    
    // 최대공약수
    public static int gcd(int a, int b) {
        // a % b를 반복해서 나머지가 0이 될 때의 a가 최대공약수
        while (b != 0) {
            int temp = a % b;
            a = b;
            b = temp; 
        }
        return a;
    }
    
    // 최소공배수
    public static int lcm(int a, int b) {
        return a * b / gcd(a, b);
    }
}


귤고르기

import java.util.*;

class Solution {
    public int solution(int k, int[] tangerine) {
        HashMap<Integer, Integer> countMap = new HashMap<>();
        for (int i = 0; i < tangerine.length; i++) {
            countMap.put(tangerine[i], countMap.getOrDefault(tangerine[i], 0) + 1);
        }
        
        List<Integer> counts = new ArrayList<>(countMap.values());
        counts.sort(Collections.reverseOrder());
        
        int picked = 0;
        int kinds = 0;
        for (int c : counts) {
            picked += c;
            kinds++;
            if (picked >= k) break;
        }
        
        return kinds;
        
    }
}