[Coding Test] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค -ํฐ์ผ“๋ชฌ-

๐Ÿ“ƒ๋ฌธ์ œ ๋งํฌ

https://school.programmers.co.kr/learn/courses/30/lessons/1845

๐Ÿคจ์ƒ๊ฐํ•˜๊ธฐ

๋ฌธ์ œ๋Š” ๊ต‰์žฅํžˆ ๊ธธ์ง€๋งŒ, ๊ฒฐ๊ตญ ๊ฐ€์žฅ ๋งŽ์€ ์ข…๋ฅ˜์˜ ํฐ์ผ“๋ชฌ์„ ์„ ํƒํ•  ๋•Œ์˜ ํฐ์ผ“๋ชฌ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

ํฐ์ผ“๋ชฌ ๋ฐฐ์—ด์—๋Š” ์ค‘๋ณต๋œ ํฐ์ผ“๋ชฌ๋“ค๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, Set์„ ์‚ฌ์šฉํ•ด ์ค‘๋ณต์„ ์ œ๊ฑฐํ•ด์ค€๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ•ด๋‹น Set์—๋Š” ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ํฐ์ผ“๋ชฌ๋“ค๋งŒ์ด ๋‚จ์œผ๋ฉฐ, ์ด๋“ค์„ ๋ชจ๋‘ ์„ ํƒํ–ˆ์„ ๋•Œ ๊ฐ€์žฅ ๋งŽ์€ ์ข…๋ฅ˜์˜ ํฐ์ผ“๋ชฌ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

ํ•˜์ง€๋งŒ ์ด ํฐ์ผ“๋ชฌ ์ˆ˜/2๋งŒํผ์˜ ํฐ์ผ“๋ชฌ๋งŒ์„ ์„ ํƒํ•œ๋‹ค๊ณ  ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— Set์˜ ๊ธธ์ด๊ฐ€ ํฐ์ผ“๋ชฌ ์ˆ˜/2๋ณด๋‹ค ์ž‘์œผ๋ฉด Set์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ํฐ์ผ“๋ชฌ ์ˆ˜/2์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋œ๋‹ค.

๐Ÿ˜Ž๋‚ด ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
12
13
function solution(nums) {
let answer = 0;
const avaliableNum = nums.length / 2;
const numsDeduplicated = new Set(nums);

if (numsDeduplicated.size < avaliableNum) {
answer = numsDeduplicated.size;
} else {
answer = avaliableNum;
}

return answer;
}

[Coding Test] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค -ํฐ์ผ“๋ชฌ-
http://example.com/2022/11/15/Coding-Test-Programmers-1/
Author
Elio
Posted on
November 15, 2022
Licensed under