10주 완성 알고리즘 코딩테스트 [기초편]
    • 01
      튜토리얼 & 가이드
    • A. 강의 이용 규칙
      B. 문제 모범 답안집
      알고리즘과 자료구조
      알고리즘이 어려운 이유 1
      문제 해결하기
      문제의 구성
      채점 방식 이해하기
      공부하는 방법
      문제0A-출력해보기
      문제0B-입력받아보기
      문제0C-반복해보기
      문제0D-저장해보기
      문제0E-테스트케이스
    • 02
      챕터1. 선형 알고리즘 기초
    • 반복 알고리즘 이해하기
      문제1A-최대값 함수
      문제1B-원소의 합 구하기
      문제1C-배열의 최대값
      문제1D-카운팅하기
      문제1E-합 구하기2
      문제1F-탐색하기1
      문제1G-탐색하기2
      문제1H-탐색하기3
      문제1I-선택정렬 구현하기
      문제1J-합 구하기3
      단원 되짚어보기 & 해설
    • 03
      챕터2. 알고리즘의 연산량
    • 연산량과 시간복잡도
      실제 연산량 줄이기
      문제2A-도토리 키재기
      문제2B-오름차순인가?
      문제2C-다양성
      문제2D-문자열의 비교 (revised)
      문제2E-소수의 판별
      문제2F-데스티니
      문제2G-버블정렬 구현하기
      문제2H-픽셀 수 세기
      문제2I-정주행
      문제2J-승부 조작
      단원 되짚어보기
    • 04
      챕터3. 공간 활용하기
    • 공간과 배열
      문제3A-전화번호
      문제3B-페인트
      문제3C-응모
      문제3D-피보나치 나머지
      문제3E-색종이
      문제3F-과유불급
      문제3G-팬미팅
      문제3H-두 카드
      문제3I-세 카드
      문제3J-네 카드
      문제3K - 배열 합치기
    • 05
      챕터4. 자주 사용되는 수학 알고리즘
    • 정수와나머지에 대한 성질
      문제4A-스도쿠 보드
      문제4B-Probing
      문제4C-최대공약수와 최소공배수
      문제4D-수열의 순환
      문제4E-소인수 분해
      문제4F-소수 세기
      문제4G-배열 흔들기
      문제4H-카잉 달력
      문제4I-골드바흐의 추측
      문제4J-공약수 게임
    • 06
      챕터5. 자료구조 활용하기
    • Stack 자료구조 이해하기
      문제5A-괄호 문자열
      문제5B-탑
      문제5C-히스토그램
      Queue 자료구조 이해하기
      문제5D-조세퍼스 문제
      문제5E-폭탄 제거
      PriorityQueue 이해하기
      문제5F-폭탄 제거 순서 정하기
      문제5G-불안정 지역
      Map/Set 자료구조 이해하기
      문제5H-중복 제거하기
      문제5I-정사각형
      문제5J-빈도수 세기
      문제5K-시장 추천하기
      문제5L-배열합치기
      문제5M-이중 우선순위 큐
      문제5N-중앙값 큐
    문제2J-승부 조작
    배우기
    03 챕터2. 알고리즘의 연산량
    문제2J-승부 조작
    실습 내용

     같은 반인 현무와 재윤이는 이번 주 청소 당번이다. 현무와 재윤이는 서로 내기를 하여 청소일을 한 명에게 몰아주기로 하였다. 간단한 게임을 통해 지는 사람이 두 명분의 청소를 하기로하고 재윤이는 아래와 같은 게임을 현무에게 제안하였다.

    • 재윤이는 총 N개의 종이컵의 안 쪽에 임의의 자연수를 적어둔다.
    • 모든 종이컵은 숫자가 보이지 않도록 뒤집은 채로 일렬로 나열한다.
    • 종이컵의 위치는 게임 도중에 변경될 수 없다.
    • 현무는 임의의 인접한 K개의 연속된 종이컵을 선택하여 숫자를 확인하고 그 숫자들의 합을 구한다.
    • 해당 숫자들의 합이 짝수이면 재윤이가 청소를 하고, 홀수이면 현무가 청소를 한다.

     

     게임을 시작하기 전 현무는 재윤이가 숫자들을 자신이 이길 수 밖에 없도록 조작한 것이 아닌지 의심을 하게되었다. 하지만 재윤이가 워낙에 많은 종이컵을 준비해두었기에 일일이 확인을 해보기는 힘들었다. 현무는 당신에게 재윤이가 적은 숫자들로 게임을 진행할 경우 자신이 이길 수 있는 경우가 존재하는지 확인해달라는 부탁을 하였다. 현무를 위해 프로그램을 만들어주자.


    입력 형식

     첫 줄에는 종이컵의 수 N과 현무가 선택할 종이컵의 수 K가 공백으로 구분되어 주어진다. NK는 1이상 10만 이하의 자연수이다.

    두 번째 줄에는 총 N개의 종이컵에 적힌 숫자들이 실제 놓여진 순서대로 주어진다. 종이컵에 적힌 숫자들은 모두 0이상 100만 이하의 정수이다.


    출력 형식

     첫 줄에 현무가 이겨서 재윤이가 청소를 하게 될 수 있는 경우의 수가 존재한다면 YES를 출력하고, 그렇지 않다면 NO를 출력한다.

    입/출력 예시
    :
    공백
    :
    줄바꿈
    :
    예시 1
    입력
    32
    123
    출력
    NO
    예시 2
    입력
    42
    1233
    출력
    YES
    예시 3
    입력
    51
    22222
    출력
    YES
    ⋇ 입출력 형식을 잘 지켜주세요
    질문하기