Search

์œค์ธ๊ทœ

2.๋ฌธ์ œ์ด๋ฆ„
3. ์ˆ˜ํ–‰์‹œ๊ฐ„[์ดˆ(s)]
448
์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ
์ข‹์•„์š” ์ˆ˜
: 0
5 more properties
| ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ
import java.util.*; class Solution { // ์ด N๋งˆ๋ฆฌ์˜ ํฐ์ผ“๋ชฌ ์ค‘ N/2 ๋งˆ๋ฆฌ๋ฅผ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. // N/2 ๋งˆ๋ฆฌ๋ฅผ ๊ณ ๋ฅด๋Š” ๊ณผ์ •์—์„œ ๊ฐ€์žฅ ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜๋กœ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ“๊ฐ’์„ ๊ตฌํ•œ๋‹ค. // ์ค‘๋ณต ์ œ๊ฑฐ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. public int solution(int[] nums) { int answer = 0; Map<Integer, Integer> monsters = new HashMap<>(); // ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ํฐ์ผ“๋ชฌ ์ˆ˜ int getable = nums.length / 2; //๋งต์— ์ €์žฅํ•˜๋ฉด์„œ ์ค‘๋ณต ์ œ๊ฑฐ for (int num : nums) { monsters.put(num, 1); } // ํฐ์ผ“๋ชฌ ์ข…๋ฅ˜์˜ ๊ฐœ์ˆ˜ int species = monsters.size(); // ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ํฐ์ผ“๋ชฌ ์ˆ˜ >= ํฐ์ผ“๋ชฌ ์ข…๋ฅ˜ ์ธ ๊ฒฝ์šฐ, ํฐ์ผ“๋ชฌ ์ข…๋ฅ˜ ๊ฐฏ์ˆ˜๊ฐ€ ์ตœ๋Œ“๊ฐ’ if (getable >= species) { answer = species; // ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ํฐ์ผ“๋ชฌ ์ˆ˜ < ํฐ์ผ“๋ชฌ ์ข…๋ฅ˜ ์ธ ๊ฒฝ์šฐ, ์ข…๋ฅ˜๊ฐ€ ์•„๋ฌด๋ฆฌ ๋‹ค์–‘ํ•ด๋„ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฐฏ์ˆ˜์˜ ํ•œ๊ณ„๊ฐ€ ์žˆ์Œ } else { answer = getable; } return answer; } }
Java
๋ณต์‚ฌ
| ์ฝ”๋“œ ์„ค๋ช…ํ•˜๊ธฐ
๋จผ์ €, Map ์„ ํ™œ์šฉํ•ด์„œ, ์กฐ๊ฑด๋ฌธ ์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ putํ•˜๋Š” ๊ฒƒ ๋งŒ์œผ๋กœ ํŽธํ•˜๊ฒŒ ์ค‘๋ณต์ œ๊ฑฐ๋ฅผ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.
์ž…๋ ฅ์ด ๋๋‚œ ๋’ค, Map์˜ size๊ฐ€ ํฐ์ผ“๋ชฌ ์ข…๋ฅ˜๋ฅผ ์˜๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ์—,
๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ํฐ์ผ“๋ชฌ ์ˆ˜ ์™€ ํฐ์ผ“๋ชฌ ์ข…๋ฅ˜์˜ ๋Œ€์†Œ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ๋‹ต์„ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€๋‹ค.
์˜ˆ์‹œ)
[1 2 3 4 5 6] ํฐ์ผ“๋ชฌ์ธ ๊ฒฝ์šฐ, ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ํฐ์ผ“๋ชฌ์€ 3๋งˆ๋ฆฌ,
(getable = 3 , species = 6) ์ด๋ฏ€๋กœ ๋‹ต์€ 3
(getable โ‰ค species) โ†’ getable
[1 1 1 2 2 2] ํฐ์ผ“๋ชฌ์ธ ๊ฒฝ์šฐ, ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ํฐ์ผ“๋ชฌ์˜ ์ˆ˜๋Š” 3๋งˆ๋ฆฌ
(getable = 3, species = 2) ์ด๋ฏ€๋กœ ๋‹ต์€ 2
(getable โ‰ฅ species) โ†’ species