1. ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ 2์ ๊ฑฐ๋ญ์ ๊ณฑ์ผ๋ก ๋ง๋ค๊ธฐ
https://school.programmers.co.kr/learn/courses/30/lessons/181857
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
โผ ๋ฐฉ๋ฒ 1
class Solution {
public int[] solution(int[] arr) {
int[] answer = {};
int temp = 1;
while(temp < arr.length) {
temp *= 2;
}
answer = new int[temp];
for(int i = 0; i < arr.length; i++) {
answer[i] = arr[i];
}
return answer;
}
}
โผ ๋ฐฉ๋ฒ 2
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr) {
int[] answer = {};
int temp = 1;
while(temp < arr.length) {
temp *= 2;
}
answer = Arrays.copyOf(arr, temp);
return answer;
}
}
โผ ๋ฐฉ๋ฒ 3
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr) {
int[] answer = {};
answer = Arrays.copyOf(arr, (int) Math.pow(2, Math.ceil(Math.log(arr.length) / Math.log(2))));
return answer;
}
}
๋ก๊ทธ ๊ณ์ฐ : ์๋ฅผ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
log(8) / log(2) = log(2³) / log(2) = 3log(2) / log(2) = 3
2. ๋ฐฐ์ด ๋น๊ตํ๊ธฐ
https://school.programmers.co.kr/learn/courses/30/lessons/181856
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
โผ ๋ฐฉ๋ฒ 1
class Solution {
public int solution(int[] arr1, int[] arr2) {
int answer = 0;
int arr1Sum = 0;
int arr2Sum = 0;
if(arr1.length < arr2.length) {
answer = -1;
} else if(arr1.length > arr2.length) {
answer = 1;
} else {
for(int i = 0; i < arr1.length; i++) {
arr1Sum += arr1[i];
arr2Sum += arr2[i];
}
answer = arr1Sum < arr2Sum ? -1 : arr1Sum > arr2Sum ? 1 : 0;
}
return answer;
}
}
โผ ๋ฐฉ๋ฒ 2
import java.util.Arrays;
class Solution {
public int solution(int[] arr1, int[] arr2) {
int answer = 0;
int arr1Sum = 0;
int arr2Sum = 0;
if(arr1.length < arr2.length) {
answer = -1;
} else if(arr1.length > arr2.length) {
answer = 1;
} else {
arr1Sum = Arrays.stream(arr1).sum();
arr2Sum = Arrays.stream(arr2).sum();
answer = arr1Sum < arr2Sum ? -1 : arr1Sum > arr2Sum ? 1 : 0;
}
return answer;
}
}
โผ ๋ฐฉ๋ฒ 3
import java.util.stream.IntStream;
class Solution {
public int solution(int[] arr1, int[] arr2) {
int answer = Integer.compare(arr1.length, arr2.length);
if(answer == 0) {
answer = Integer.compare(IntStream.of(arr1).sum(), IntStream.of(arr2).sum());
}
return answer;
}
}
Integer.compare(int x, int y)
(1) x == y ์ผ ๊ฒฝ์ฐ 0 ๋ฆฌํด
(2) x < y ์ผ ๊ฒฝ์ฐ ์์ ๋ฆฌํด
(3) x > y ์ผ ๊ฒฝ์ฐ ์์ ๋ฆฌํด
3. ๋ฌธ์์ด ๋ฌถ๊ธฐ
https://school.programmers.co.kr/learn/courses/30/lessons/181855
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
โผ ๋ฐฉ๋ฒ 1
import java.util.stream.IntStream;
class Solution {
public int solution(String[] strArr) {
int answer = 0;
int[] strArrLength = new int[30];
for(String str : strArr) {
strArrLength[str.length() - 1]++;
}
for(int i = 0; i < strArrLength.length; i++) {
answer = Math.max(answer, strArrLength[i]);
}
return answer;
}
}
โผ ๋ฐฉ๋ฒ 2
import java.util.Arrays;
import java.util.stream.Collectors;
class Solution {
public int solution(String[] strArr) {
int answer = 0;
answer = Arrays.stream(strArr).collect(Collectors.groupingBy(String::length, Collectors.counting())).values().stream().mapToInt(Math::toIntExact).max().orElse(0);
return answer;
}
}
toIntExact()
Java 8์์ ์ถ๊ฐ๋ ์๋ก์ด ๋ฉ์๋์ด๋ค. ์ค๋ฒํ๋ก์ฐ๊ฐ ๋๋ฉด ArithmeticException๋ผ๋ ์๋ฌ๋ฅผ ๋์ง๋๋ฐ, Java8์์ ์ด๋ฐ ์ค๋ฒํ๋ก์ฐ์ ์์ ํ ๋ฉ์๋๊ฐ ์ถ๊ฐ๋์๋ค. ๋ชจ๋ ๋์ด exact๋ก ๋๋๋ค.
4. ๋ฐฐ์ด์ ๊ธธ์ด์ ๋ฐ๋ผ ๋ค๋ฅธ ์ฐ์ฐํ๊ธฐ
https://school.programmers.co.kr/learn/courses/30/lessons/181854
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
โผ ๋ฐฉ๋ฒ 1
class Solution {
public int[] solution(int[] arr, int n) {
int[] answer = new int[arr.length];
for(int i = 0; i < arr.length; i++) {
if(arr.length % 2 == 1) {
answer[i] = i % 2 == 0 ? arr[i] + n : arr[i];
} else {
answer[i] = i % 2 == 1 ? arr[i] + n : arr[i];
}
}
return answer;
}
}
โผ ๋ฐฉ๋ฒ 2
class Solution {
public int[] solution(int[] arr, int n) {
int[] answer = arr.clone();
for(int i = arr.length % 2 == 1 ? 0 : 1; i < arr.length; i += 2) {
answer[i] += n;
}
return answer;
}
}
โผ ๋ฐฉ๋ฒ 3
import java.util.stream.IntStream;
class Solution {
public int[] solution(int[] arr, int n) {
int[] answer = {};
answer = IntStream.range(0, arr.length).map(i -> arr[i] + (i % 2 == (arr.length % 2 == 1 ? 0 : 1) ? n : 0)).toArray();
return answer;
}
}
5. ๋ค์์ 5๋ฑ๊น์ง
https://school.programmers.co.kr/learn/courses/30/lessons/181853
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
โผ ๋ฐฉ๋ฒ 1
import java.util.Arrays;
class Solution {
public int[] solution(int[] num_list) {
int[] answer = new int[5];
Arrays.sort(num_list);
for(int i = 0; i < answer.length; i++) {
answer[i] = num_list[i];
}
return answer;
}
}
โผ ๋ฐฉ๋ฒ 2
import java.util.Arrays;
class Solution {
public int[] solution(int[] num_list) {
int[] answer = {};
Arrays.sort(num_list);
answer = Arrays.copyOfRange(num_list, 0, 5);
return answer;
}
}
โผ ๋ฐฉ๋ฒ 3
import java.util.Arrays;
class Solution {
public int[] solution(int[] num_list) {
int[] answer = {};
Arrays.sort(num_list);
answer = Arrays.copyOf(num_list, 5);
return answer;
}
}
Arrays.copyOfRang(๋ณต์ฌํ ์๋ณธ ๋ฐฐ์ด, ๋ณต์ฌ๋ฅผ ์์ํ ์ธ๋ฑ์ค, ๋ณต์ฌ๋ฅผ ๋๋ผ ์ธ๋ฑ์ค) : ์ง์ ํ ๋ฐฐ์ด์์ ํน์ ๋ฒ์๋งํผ์ ์์๋ค์ ๋ณต์ฌํด ์๋ก์ด ๋ฐฐ์ด๋ก ๋ฐํ
Arrays.copyOf(์๋ณธ ๋ฐฐ์ด, ๋ณต์ฌํ ๊ธธ์ด) : ์ง์ ํ ๋ฐฐ์ด์ ์ธ๋ฑ์ค 0๋ถํฐ ์ํ๋ ๊ธธ์ด๋งํผ ๋ณต์ฌ
โผ ๋ฐฉ๋ฒ 4
import java.util.Arrays;
class Solution {
public int[] solution(int[] num_list) {
int[] answer = {};
answer = Arrays.stream(num_list).sorted().limit(5).toArray();
return answer;
}
}
'์ฝ๋ฉํ ์คํธ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Day 22. ์ฝ๋ฉ ๊ธฐ์ด ํธ๋ ์ด๋(Java) (0) | 2024.03.01 |
---|---|
Day 21. ์ฝ๋ฉ ๊ธฐ์ด ํธ๋ ์ด๋(Java) (0) | 2024.03.01 |
Day 19. ์ฝ๋ฉ ๊ธฐ์ด ํธ๋ ์ด๋(Java) (0) | 2024.03.01 |
Day 18. ์ฝ๋ฉ ๊ธฐ์ด ํธ๋ ์ด๋(Java) (0) | 2024.03.01 |
Day 17. ์ฝ๋ฉ ๊ธฐ์ด ํธ๋ ์ด๋(Java) (0) | 2024.03.01 |