쌓고 쌓다
[프로그래머스] 포켓몬 C++ 풀이 본문
https://programmers.co.kr/learn/courses/30/lessons/1845?language=cpp#
전체 코드
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> nums)
{
int answer = 0;
bool visit[200001];
fill(visit,visit+200001,false);
for(int i=0;i<nums.size();i++)
{
if(visit[nums[i]]==false&&answer+1<=nums.size()/2)
{
visit[nums[i]]=true;
answer++;
}
}
return answer;
}
다들 set이나 map을 이용해 풀었던데 혹시 bool 배열을 통해 풀려면 아래의 주의 사항을 지켜야한다.
안그러면 통과를 못한다.
주의 사항
아래와 같이 bool 배열을 memset이나 fill을 통해 초기화시켜 주어야 한다.
bool visit[200001];
fill(visit,visit+200001,false);
안 그러면 20만 번째까지 false로 초기화가 안 되어 있기에 테스트 케이스가 통과가 안된다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 약수의 개수와 덧셈 C++ 풀이 (0) | 2022.07.02 |
---|---|
[프로그래머스] 실패율 C++ 풀이 (0) | 2022.07.02 |
[프로그래머스] 2016년 C++ 풀이 (0) | 2022.06.30 |
[프로그래머스] 두 개 뽑아서 더하기 C++ 풀이 (0) | 2022.06.30 |
[프로그래머스] 3진법 뒤집기 C++ 풀이 (0) | 2022.06.30 |
Comments