공부한 내용
class Solution {
public int solution(int[] array) {
for (int i = 0; i < array.length - 1; i++) {
for (int j = 0; j < array.length - 1; j++) {
if (array[j] > array[j+1]) {
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
int answer = array[array.length / 2];
return answer;
}
}
array.sort()로 구하는건 너무 쉬운거 같아서 만들어본 코드
근데 이렇게 하면 중간에 정렬이 끝나도 반복문이 끝나기 전까지 계속 돌아가는게 단점이였음
그래서 정렬이 끝나면 반복문도 끝나게 하면 어떨까 생각함
class Solution {
public int solution(int[] array) {
for (int i = 0; i < array.length - 1; i++) {
int checkNum = 0; // 한 번의 정렬이 끝나면 다시 0으로
for (int j = 0; j < array.length - 1; j++) {
if (array[j] > array[j+1]) {
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
checkNum++; // 0에서 1이 되기 때문에 계속 실행
}
}
if (checkNum == 0) {
break; // 반복문 탈출
}
}
int answer = array[array.length / 2];
return answer;
}
}
map에 대한 지식++
import java.util.*;
class Solution {
public int solution(int[] array) {
int maxCount = 0;
int answer = 0;
Map<Integer, Integer> map = new HashMap<>();
for (int num : array) {
// getOrDefault메서드 : 주어진 key에 해당하는 값을 찾는다.
// 그 값이 있다면 그 값을 반환하고 없다면 지정된 Defualt값을 반환
int count = map.getOrDefault(num, 0) + 1;
if (count > maxCount) {
maxCount = count;
answer = num;
} else if (count == maxCount) {
answer = -1;
}
map.put(num, count);
}
return answer;
}
}
정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.
class Solution {
public int[] solution(int n) {
int[] arr = new int[50];
int num = 0;
for(int i = 1; i <= n; i++) {
if(i % 2 != 0) {
arr[num] = i;
num++;
}
}
int[] answer = new int[num];
for(int i = 0; i < num; i++){
answer[i] = arr[i];
}
return answer;
}
}
하루를 돌아보며, TMI
오늘 집중해서 공부 잘했다. 만족!