본문 바로가기
프로그래머스 C++/Level.0

프로그래머스 C++ Level. 0 짝수 홀수 개수

by yeni_0224 2023. 3. 17.
728x90
반응형

정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.

#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> num_list) {
    vector<int> answer(2);

    //갯수 세기
  for(int i = 0; i < num_list.size(); i++) {
    if(num_list[i] % 2 == 0){
        answer[0]++;
        }
    else if(num_list[i] % 2 == 1){
        answer[1]++;
    } 
  }   
    return answer;
}

벡터 변수를 이용해서 배열을 어떻게 출력할 수 있는지 알아야했다.

갯수를 세는 방법만은 내가 고민하고, 그 출력하기 위한 양식은 어떻게 되는지 알아보고, 문제 제출까지 완료했다.

 

Vector는 배열, 문자열 이런걸 담아두는 변수를 선언할 때 사용한다.

vector<int> answer(2);

answer이라는 배열의 사이즈는 2 이고, 값을 0으로 초기화 하여 선언하겠다는 것이다.

그래서 짝수와, 홀수의 갯수만 출력한다고 배열의 사이즈에 대한 정보를 명시했기 때문에 딱 2만 출력할 것이다.

그런 다음 for문을 사용하여 배열 안의 값들을 짝수인지 홀수인지 반복하여 확인해줄 것이다.

배열의 사이즈만큼 반복할 것이기 때문에 num_list.size() 만큼 반복할 것이라고 적어주었다

 

if문에서는 짝수인가, 홀수인가 구별해주었다.

짝수, 홀수를 구별할 때에는 2로 나머지 연산 했을 때 0인가, 1인가 확인하면 된다.

0이 나오면 짝수이고, 1이 나오면 홀수인 것이다.

 

답은 (짝수의 갯수, 홀수의 갯수) 이렇게 출력하라고 했기 때문에

배열의 0번째 인덱스, 즉 짝수의 갯수가 들어가는 공간에는 짝수의 갯수가 출력되도록 해주었고, 

배열의 1번째 인덱스, 홀수의 갯수가 들어가는 공간에는 홀수의 갯수가 출력되도록 해주었다.

 

그러면 끗!

나는 디테일한 설명이 필요한 사람이당

나중에 봐도 내가 어떻게 생각하고 풀었나

혹시 나와 같이 디테일한 설명이 필요한 분들이 있을 것이라 생각하기 때무네

길게길게 적는그야

 

아니 근데 구글링을 열심히 해보았는데 C++ 풀이는 거의 찾아보기가 쉽지 않고, 거의 자바스크립트 푸시드라..

내가 블루오션에 있는거겠찌? 그러면 아주 좋겠군

728x90
반응형