728x90
반응형
1. 나머지 구하기
class Solution {
public int solution(int num1, int num2) {
int answer = -1;
int a = num1;
int b = num2;
answer = a % b;
return answer;
}
}
2. 중앙값 구하기
import java.util.Arrays;
class Solution {
public int solution(int[] array) {
// 배열 정렬 (이미 정렬되어 있다면 생략 가능)
Arrays.sort(array);
int length = array.length;
int middleIndex = length / 2;
if (length % 2 == 1) {
// 배열의 길이가 홀수인 경우
return array[middleIndex];
} else {
// 배열의 길이가 짝수인 경우
return (array[middleIndex - 1] + array[middleIndex]) / 2;
}
}
}
3. 최빈값 구하기
import java.util.HashMap;
import java.util.Map;
public class Solution {
public int solution(int[] array) {
Map<Integer, Integer> frequencyMap = new HashMap<>();
// 빈도수 계산
for (int num : array) {
frequencyMap.put(num, frequencyMap.getOrDefault(num, 0) + 1);
}
int maxFrequency = 0;
int mode = -1;
// 최빈값 찾기
for (Map.Entry<Integer, Integer> entry : frequencyMap.entrySet()) {
int num = entry.getKey();
int frequency = entry.getValue();
if (frequency > maxFrequency) {
maxFrequency = frequency;
mode = num;
} else if (frequency == maxFrequency) {
// 최빈값이 여러 개일 경우 -1 반환
mode = -1;
}
}
return mode;
}
}
4. 짝수는 싫어요
import java.util.ArrayList;
class Solution {
public int[] solution(int n) {
ArrayList<Integer> list = new ArrayList<>();
for (int i = 1; i <= n; i++) {
if(i%2==1){
list.add(i);
}
}
int[] array = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
array[i] = list.get(i);
}
return array;
}
}
728x90
반응형
'study_IT > 알고리즘 노트' 카테고리의 다른 글
[programmers] 코딩테스트 입문 Day 4 (0) | 2023.10.16 |
---|---|
알고리즘 복잡도 (Complexity) (0) | 2023.10.14 |
[programmers] 코딩테스트 입문 Day 2 (1) | 2023.10.10 |
[programmers] 코딩테스트 입문 Day 1 (0) | 2023.10.09 |
[BAEKJOON] 1330 (0) | 2023.10.04 |