어흥
[프로그래머스] 폰켓몬 (C++, Java) 본문
728x90
반응형
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/1845?language=java
1. 주의할 점
- 무엇을 출력해야하는지 잘 살펴본다 (조합의 수로 생각했다가 문제만 여러번 다시 읽었다..)
2. 구현
- Map을 이용해서 <폰켓몬 번호, Nums에 담긴 수>를 저장한다
- 폰켓몬의 종류와(Map의 크기) 골라야하는 폰켓몬의 수(Nums/2)를 비교하고, 둘 중 작은것을 반환한다
[C++]
#include <vector>
#include <map>
#include <cmath>
using namespace std;
int solution(vector<int> nums)
{
int answer = 0;
map<int,int> m;
for(int val : nums){
if(m.find(val)==m.end()) m[val]=1;
else m[val]++;
}
return min(nums.size()/2,m.size());
}
[Java]
import java.util.*;
import java.lang.*;
import java.io.*;
class Solution {
public int solution(int[] nums) {
int answer = 0;
Map<Integer,Integer> map = new HashMap<>();
for(int val: nums){
if(map.containsKey(val)) map.put(val,map.get(val)+1);
else map.put(val,1);
}
return Math.min(nums.length/2,map.size());
}
}
728x90
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 주식가격 (C++) (0) | 2022.01.05 |
---|---|
[프로그래머스] 단속카메라 (C++, Java) (2) | 2022.01.03 |
[프로그래머스] 멀쩡한 사각형 (C++) (0) | 2021.12.07 |
[프로그래머스] 카카오프렌즈 컬러링북 (C++) (0) | 2021.12.07 |
[프로그래머스] 체육복 (C++) (0) | 2021.12.03 |
Comments