반응형
https://leetcode.com/problems/special-array-with-x-elements-greater-than-or-equal-x/description/
전수 조사 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
정답 변수 ans 선언 후 -1로 초기화해줍니다.
📔 풀이과정
nums 원소의 최댓값이 1000이므로
1. 1 ~ 1000범위안에 for loop를 수행합니다.
1-1. nums의 원소를 순회하며 현재 값 num이상인 것들의 개수를 지역변수 cnt에 저장합니다.
1-2. num과 cnt값이 같다면 정답이므로 ans에 num값을 저장후 break합니다.
2. ans를 반환합니다.
📕 Code
📔 C++
class Solution {
public:
int specialArray(vector<int>& nums) {
int ans = -1;
for(int num = 1; num <= 1000; num++) {
int cnt = 0;
for(auto n : nums) {
if(num <= n) cnt++;
}
if (num == cnt) {ans = num; break;}
}
return ans;
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.