쿠쿠의기록

3. 상자 꾸미기 본문

알고리즘/L1~4 기본

3. 상자 꾸미기

쿠쿠트레인 2021. 2. 24. 14:10

문제


면이 6개인 상자가 있다. 이를 여러 가지 색종이를 붙여 꾸밀려고 하는데, 단 조건이 있다. 인접한 면에 같은 색의 색종이를 붙이면 안 된다는 것이다. 또한, 한 면에는 한 장의 색종이만 붙일 수 있다. 여러 가지 색의 색종이들이 주어졌을 때, 조건을 만족하여 상자의 모든 면에 붙일 수 있는지 판별하는 프로그램을 작성하시오.

 

입력


첫째 줄에 색종이의 장수 N ( 1 <= N <= 1,000 ) 이 주어진다. 둘째 줄에 각각의 색종이의 색깔을 나타내는 N개의 숫자가 주어진다. 색깔은 양의 정수로 이루어져 있고, 1부터 N까지의 범위의 수이다.

 

출력


조건을 만족하면서 상자를 꾸밀 수 있으면 “YES”, 아니면 “NO”를 출력한다.

 

예제 입력

6 1 2 1 2 1 3

예제 출력

NO

 

예제 입력

6 1 2 3 1 2 3

예제 출력

YES

 

예제 입력

7 1 1 1 2 2 3 3

예제 출력

YES

 

예제 입력

8 1 2 2 2 1 1 1 3

예제 출력

NO

 

#include <stdio.h>

int main() {

  int arr[1000];
  
  int n,i,temp;
  scanf("%d", &n);
  
  for(i=0; i<n; i++){
    scanf("%d", &temp);
    arr[temp]++;
  }
  int sum=0;
  for(i=0; i<n; i++){
    if(arr[i]<2) sum+=arr[i];
    else sum+=2;
  }
  if(sum>=6) printf("YES");
  else printf("NO");
  
  return 0;
}

'알고리즘 > L1~4 기본' 카테고리의 다른 글

4. seat  (0) 2020.07.23
4. baseball game  (0) 2020.07.23
4. tetris  (0) 2020.07.23
4. bingo  (0) 2020.07.23
3. colorpaper  (0) 2020.07.15