๋ฌธ์ ์ค๋ช
์ต๋น๊ฐ์ ์ฃผ์ด์ง ๊ฐ ์ค์์ ๊ฐ์ฅ ์์ฃผ ๋์ค๋ ๊ฐ์ ์๋ฏธํฉ๋๋ค.
์ ์ ๋ฐฐ์ด array๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ต๋น๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด ๋ณด์ธ์.
์ต๋น๊ฐ์ด ์ฌ๋ฌ ๊ฐ๋ฉด -1์ return ํฉ๋๋ค.
์ ํ ์ฌํญ
0 < array์ ๊ธธ์ด < 100
0 ≤ array์ ์์ < 1000
์ ์ถ๋ ฅ ์
ํ์ด
์ ํ ์ฌํญ์ ์ดํด๋ณด๋ฉด array ๋ฐฐ์ด์ ์์๋ก ๋ค์ด์ค๋ ์ซ์๋ 1000๋ฏธ๋ง
์ฆ, 999๊น์ง์ ์ซ์๋ง์ด ์์๋ก ๋ค์ด์จ๋ค.
๊ทธ๋ ๋ค๋ฉด 1000 ๊ธธ์ด์ ๋ฐฐ์ด arr์ ์์ฑํ์ฌ,
array๋ฐฐ์ด์ ์์๋ฅผ arr๋ฐฐ์ด์ ์ธ๋ฑ์ค์ 1์ฉ ์ถ๊ฐํ๋ฉด,
arr๋ฐฐ์ด ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ ๊ฐ์ง ์ธ๋ฑ์ค๊ฐ ์ต๋น๊ฐ์ด๋ค.
์์๋ก array = { 1 , 2, 3, 3, 3, 4 } ์ด๋ ๊ฒ ์์๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ฉด,
arr[1] = 1
arr[2] = 1
arr[3] = 3
arr[4] = 1
์ด๋ ๊ฒ ๊ฐ์ด ์ ์ฅ๋๋ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ arr๋ฐฐ์ด์ ํตํด์ ์ต๋น๊ฐ์ ๊ตฌํ๊ณ ,
๋ฐ๋ณต๋ฌธ์ ํตํด์ ์ต๋น๊ฐ์ด ์ฌ๋ฌ๊ฐ์ธ์ง ํ์ธํ์ฌ,
2๊ฐ ์ด์์ด๋ผ๋ฉด -1์ ๋ฐํํ๊ณ , ๊ทธ ์ธ์๋ ์ต๋น๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํ๋ฉด ๋๋ค.
์์ค ์ฝ๋
class Solution {
public int solution(int[] array) {
int[] arr = new int[1000];
int max = Integer.MIN_VALUE;
int max_index = 0;
int cnt = 0;
for (int i = 0; i < array.length; i++) {
arr[array[i]]++;
}
for (int i = 0; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
max_index = i;
}
}
for (int i = 0; i < arr.length; i++) {
if (arr[i] == max) {
cnt++;
}
}
if (cnt > 1) {
return -1;
} else {
return max_index;
}
}
}
'๐ ์๊ณ ๋ฆฌ์ฆ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ง์๋ ์ซ์ด์ (0) | 2023.01.14 |
---|