2023. 11. 7. 13:57ใ์ธํ๋ฐ/์๋ฐ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด ์ ๋ฌธ : ์ฝ๋ฉํ ์คํธ ๋๋น
https://hyejin.tistory.com/1243
-> ์ด์ ๋ฌธ์ ํ์ด
5. ์ค๋ณต ํ์ธ
์ค๋ช
ํ์๋ค ๋ฐ์๋ N๋ช ์ ํ์๋ค์ด ์์ต๋๋ค.
์ ์๋์ ๋ฐ ํ์๋ค์๊ฒ 1๋ถํฐ 10,000,000๊น์ง์ ์์ฐ์ ์ค์์ ๊ฐ์๊ฐ ์ข์ํ๋ ์ซ์ ํ๋ ์ ์ด ๋ด๋ผ๊ณ ํ์ต๋๋ค.
๋ง์ฝ N๋ช ์ ํ์๋ค์ด ์ ์ด๋ธ ์ซ์ ์ค ์ค๋ณต๋ ์ซ์๊ฐ ์กด์ฌํ๋ฉด D(duplication)๋ฅผ ์ถ๋ ฅํ๊ณ ,
N๋ช ์ด ๋ชจ๋ ๊ฐ์ ๋ค๋ฅธ ์ซ์๋ฅผ ์ ์ด๋๋ค๋ฉด U(unique)๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ์์ฐ์ N(5<=N<=100,000)์ด ์ฃผ์ด์ง๋ค.
๋ ๋ฒ์งธ ์ค์ ํ์๋ค์ด ์ ์ด ๋ธ N๊ฐ์ ์์ฐ์๊ฐ ์ ๋ ฅ๋๋ค.
์ถ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ D ๋๋ U๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
8
20 25 52 30 39 33 43 33
์์ ์ถ๋ ฅ 1
D
๋ฌธ์ ํ์ด 1
public String solution(int n, int[] arr)
{
String answer = "U";
ArrayList<Integer> arrayList = new ArrayList<>();
for (int i : arr)
{
if (!arrayList.contains(i)) {
arrayList.add(i);
}else
{
return "D";
}
}
return answer;
}
๐ฉ๐ป : ๋๋ ์ฐ์ ์ด ๋ฌธ์ ๋ฅผ Arraylist์ arr ์์๋ฅผ ํ๋์ฉ ๋ฃ๋๋ฐ, ์ด๋ arraylist์ contains ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ์ด ์์๊ฐ ์ด๋ฏธ ๋ค์ด์์ผ๋ฉด "D" ๋ฅผ ๋ฆฌํดํด์ฃผ๊ณ , ๋ค์ด์์ง ์๋ค๋ฉด arraylist์ addํด์คฌ๋ค.
๋ฌธ์ ํ์ด 2
public String solution2(int n, int[] arr)
{
String answer = "U";
Arrays.sort(arr);
for (int i = 0; i< n-1; i++)
{
if (arr[i] == arr[i + 1]) {
return "D";
}
}
return answer;
}
๐พ : ๊ฐ์ฌ๋์ ์ด ๋ฌธ์ ๋ฅผ HashMap์ผ๋ก ํ์์ ๊ฑฐ๋ผ๊ณ ์๊ธฐํ๋๋ฐ.. ๋๋ Arraylist๋ก ํ๊ธดํ๋ค.. ใ ใ
์๋ฌดํผ HashMap ์ผ๋ก ๋ฌธ์ ๋ฅผ ํธ๋ ๋ฐฉ๋ฒ๋ ์์ง๋ง ์ด ๋ฌธ์ ๋ฅผ ์ ๋ ฌ๋ก๋ ํ ์ ์๋ค๋ ๊ฒ์ ์๋ ค์ฃผ๊ธฐ ์ํด์ ์ด ๋ฌธ์ ๋ฅผ ๊ฐ์์ ํฌํจ์์ผฐ๋ค๊ณ ํ๋ค.
Arrays.sort ๋ฉ์๋๋ฅผ ์ด์ฉํด์ arr ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํด์ฃผ๊ณ , ๋ฐ๋ณต๋ฌธ์ ๋๋๋ฐ n-1 ๊น์ง๋ง ๋๋ฉด์ arr[i]์ arr[i+1]์ด ์๋ก ๊ฐ์ผ๋ฉด "D"๋ฅผ ๋ฆฌํดํด์ฃผ๊ณ ๋ชจ๋ ๋ค๋ฅด๋ฉด "U" ๋ฅผ ๋ฆฌํดํ๋๋ก ํ๋ค.