33.  분수의 덧셈 ⭐️⭐️⭐️ 

최대공약수를 구하는 유클리드 호제법
    int[] answer = new int[2];

        answer[0]=denum1*num2+denum2*num1;
        answer[1]=num1*num2;
        int min = Math.min(answer[0],answer[1]);
        int max = 1;
        for(int i=1; i<=min; i++){
            if(answer[0]%i==0 && answer[1]%i==0){
                max= i;
            }
        }
        answer[0] /= max;
        answer[1] /= max;
        return answer;

34. 배열 두 배 만들기 

    ArrayList<Integer> answer = new ArrayList<>();

        for(int num : numbers){
            answer.add(num*2);
        }

        return answer;
for(int i=0; i<numbers.length; i++) numbers[i] *=2;
        return numbers;

35.  중앙값 구하기 

  return array[array.length >> 1];
  >>(시프트)연산이 /보다 성능상 더 좋다고는 함.(거의 무시할 수준이라 가독성을 위해서라도 / 쓰는게 좋다고 봄)

36. 최빈값 구하기 ⭐️⭐️⭐️ 

import java.util.HashMap;
import java.util.Map;

class Solution {
    public int solution(int[] array) {
      // 최빈값의 빈도수를 저장할 Map 객체 생성
      Map<Integer, Integer> map = new HashMap<>();

      // 배열의 각 요소를 Map 객체에 추가
      for (int i = 0; i < array.length; i++) {
        map.put(array[i], map.getOrDefault(array[i], 0) + 1);
      }

      // 최빈값의 빈도수
      int maxCount = 0;

      // 최빈값
      int mode = -1;

      // Map 객체를 순회하며 최빈값을 찾는다.
      for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
        if (entry.getValue() > maxCount) {
          maxCount = entry.getValue();
          mode = entry.getKey();
        }
      }

      // 최빈값이 여러 개면 -1을 반환한다.
      for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
        if (entry.getValue() == maxCount && entry.getKey() != mode) {
          return -1;
        }
      }

      return mode;
    }
}

37. 짝수는 싫어요 

import java.util.stream.IntStream;

class Solution {
    public int[] solution(int n) {
        return IntStream.rangeClosed(0, n).filter(value -> value % 2 == 1).toArray();
    }
}

 

'Algorithm' 카테고리의 다른 글

프로그래머스 Lv.0  (2) 2023.05.30
프로그래머스 Lv.0  (0) 2023.05.27
프로그래머스 Lv.0  (0) 2023.05.23
프로그래머스 Lv.0  (0) 2023.05.20
프로그래머스 Lv.0  (2) 2023.05.19