BOJ - 불안정한 수열 28323

2024. 11. 18. 11:59·코딩테스트
반응형

 

해결방법

결국, 불안정한 수열 중 가장 큰 케이스를 구하면 되는 것인데, 인접한 두 수를 더해서 홀수가 나오려면, 홀수 + 짝수의 경우밖에 없다.

즉, 홀짝홀짝순으로 배치된 경우를 찾아서 그 길이를 재면 되는 것이다.

예를 들어 5짜리 배열에 3 1 4 1 5로 입력되었다면, 홀짝홀짝이 가장 긴 부분, 3 4 1 5를 골라서 4짜리 배열을 만들 수 있다.

 

정답 코드

#include <iostream>
#include <vector>

using namespace std;

int main()
{
    int N;
    cin >> N;

    vector<int> A(N);
    for (int i = 0; i < N; i++)
    {
        cin >> A[i];
    }

    int max = 1;
    int prev = A[0] % 2;

    for (int i = 1; i < N; i++)
    {
        if (A[i] % 2 != prev)
        {
            max++;
            prev = A[i] % 2;
        }
    }

    cout << max << endl;
    return 0;
}
반응형

'코딩테스트' 카테고리의 다른 글

BOJ - 전투 드로이드 가격 5361  (1) 2024.11.20
BOJ - 수 정렬하기 2 2751  (0) 2024.11.19
BOJ - 약수 1037  (0) 2024.11.14
BOJ - 클레어와 팰린드롬 17502  (0) 2024.11.14
BOJ - 나누기 1075  (0) 2024.11.13
'코딩테스트' 카테고리의 다른 글
  • BOJ - 전투 드로이드 가격 5361
  • BOJ - 수 정렬하기 2 2751
  • BOJ - 약수 1037
  • BOJ - 클레어와 팰린드롬 17502
skajalf
skajalf
skajalf 님의 블로그 입니다.
  • skajalf
    skajalf 님의 블로그
    skajalf
  • 전체
    오늘
    어제
    • 분류 전체보기 (153) N
      • UNITY (6)
        • FanGame (6)
        • Portfolio (0)
      • UnReal (0)
      • DirectX (0)
      • 코딩테스트 (113) N
      • Programming (34)
        • C C# C++ (9)
        • 디자인 패턴 (0)
        • 자료구조 & 알고리즘 (3)
        • 기타 (22)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    다들 아는거 굳이 적을 이유가 있을까..?
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
skajalf
BOJ - 불안정한 수열 28323
상단으로

티스토리툴바