โค๏ธ Problem
- ๋ฌธ์
์ ์ ๋ฐฐ์ด array์ ์ ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, array์ ๋ค์ด์๋ ์ ์ ์ค n๊ณผ ๊ฐ์ฅ ๊ฐ๊น์ด ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
- ์ ํ ์ฌํญ
- 1 ≤ array์ ๊ธธ์ด ≤ 100
- 1 ≤ array์ ์์ ≤ 100
- 1 ≤ n ≤ 100
- ๊ฐ์ฅ ๊ฐ๊น์ด ์๊ฐ ์ฌ๋ฌ ๊ฐ์ผ ๊ฒฝ์ฐ ๋ ์์ ์๋ฅผ return ํฉ๋๋ค.
- ์ ์ถ๋ ฅ ์ & ์ค๋ช
no | array | n | result |
1 | [3, 10, 28] | 20 | 28 |
2 | [10, 11, 12] | 13 | 12 |
- 3, 10, 28 ์ค 20๊ณผ ๊ฐ์ฅ ๊ฐ๊น์ด ์๋ 28์ ๋๋ค.
- 10, 11, 12 ์ค 13๊ณผ ๊ฐ์ฅ ๊ฐ๊น์ด ์๋ 12์ ๋๋ค.
๐ Solution
ํ์ด 1
import java.util.Arrays;
class Solution {
public int solution(int[] array, int n) {
Arrays.sort(array);
int index = 0;
for (int i=0; i<array.length-1; i++) {
if(Math.abs(n-array[index]) > Math.abs(n-array[i+1])) {
index = i+1;
} else{
continue;
}
}
return array[index];
}
}
์ฒ๋ฆฌ์๋์ ๋ํ ๋ณด์์ด ํ์ํด ๋ณด์ธ๋ค
ํ์ด 2
class Solution {
public int solution(int[] array, int n) {
int index = 0;
for (int i=0; i<array.length-1; i++) {
if(Math.abs(n-array[index]) > Math.abs(n-array[i+1])) {
index = i+1;
} else if (Math.abs(n-array[index]) < Math.abs(n-array[i+1])){
continue;
} else {
if(array[index] > array[i+1]) {
index = i+1;
} else {
continue;
}
}
}
return array[index];
}
}
์ฒ๋ฆฌ์๋ ๋ณด์ ์๋ฃ
๐ Comment
์ฒ์์๋ Array.sort();๋ฅผ ์ฌ์ฉํ์ฌ ๋จผ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ค, for๋ฌธ์ ์ฌ์ฉํ์ฌ n์์ ๊ฐ๊ฐ array[index]์ array[i]๋ฅผ ๋บ ๊ฐ์ ์ ๋๊ฐ์ผ๋ก ํ์ฐํ ๋ค ๋น๊ตํ์ฌ ๋ ์์ ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ index์ ๋์ ํ์๋ค. ์ฝ๋๋ ์งง์์ง๋ง Array.sort()๋ฅผ ์คํํ๊ธฐ๋๋ฌธ์ ์ฒ๋ฆฌ์๋๊ฐ ๋๋ฆฐ ํธ์ด์๋ค. (0.32 ~ 0.53ms)
๊ทธ๋์ ๋๋ฒ์งธ ํ์ด๋ Array.sort() ๋์ ์กฐ๊ฑด์ ์ ์ถ๊ฐํ์ฌ ์ฝ๋๋ฅผ ์์ฑํ์๋ค. ํ์ด 1์ ๊ณผ์ ์์ n-array[index]์ n-array[i+1]์ ์ ๋๊ฐ์ด ๋์ผํ ๊ฒฝ์ฐ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์กฐ๊ฑด์ ์ ์ถ๊ฐํ๋ค. ์ด ๊ฒฝ์ฐ์๋ array[index]์ array[i+1]์ ๊ฐ์ ๋น๊ตํ์ฌ ๋ ์์ ๊ฐ์ ์ธ๋ฑ์ค๋ฅผ index์ ๋์ ํ์๋ค.
ํ์ด 1๋ณด๋ค ์ฝ๋๋ ๊ธธ์ด์ก์ง๋ง ์ฒ๋ฆฌ ์๋๋ ๋ ๋น ๋ฅธ ์ฝ๋ ์์ฑ๐
'Programmers lv-0' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ต๋๊ฐ ๋ง๋ค๊ธฐ (2) - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (0) | 2022.11.28 |
---|---|
๋ฌธ์์ด ๊ณ์ฐํ๊ธฐ - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (0) | 2022.11.28 |
ํ ๋ฒ๋ง ๋ฑ์ฅํ ๋ฌธ์ - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (0) | 2022.11.28 |
์ค๋ณต๋ ๋ฌธ์ ์ ๊ฑฐ - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (0) | 2022.11.27 |
์ปจํธ๋กค ์ ํธ - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (0) | 2022.11.27 |
์์ธ์๋ถํด - Java [ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ฌธ] (0) | 2022.11.27 |
๋๊ธ