본문 바로가기

알고리즘

상자색 칠하기

import java.util.Scanner;
public class Main{
    
    // 입력] 종이 장 수 입력 
    // 입력] 각각 종이의 색깔
    // 종이 장수는 1~1000, 색은 1~n 까지임, 만약 8이면 종이색은 1부터 8까지만 올 수 있다는 것.
    // 출력 되면 YES 안되면 No
    
    // 설계
    // n이 5이하이면 No
    // 
    // [1] n을 입력받는다.
    // [2] n만큼 반복문을 돌린다.
    // [3] paper[i]+=1; 한다.
    // [4] 다 끝나면 또 반복문을 돌리는데 2보다 큰 값들을 2로 만들어준다.
    // [5] 또 반복문 돌리는데 sum 이 6보다 작으면 노이고 갖거나 크면 예스다.
    public static int n;
    public static int[] paper = new int[1010];
    public static void main(String[] args){

      Scanner scan = new Scanner(System.in);
      
      n = scan.nextInt();
      for(int i=0;i<n;i++)
      {
        int x = scan.nextInt();
        paper[x]+=1;
      }
      
      if(n<=5){System.out.println("NO");return;}
      
      for(int i=1;i<=n;i++)
      {
        if(paper[i]>2){paper[i]=2;}
      }
      
      int sum=0;
      for(int i=1;i<=n;i++)
      {
        sum+=paper[i];
      }
      if(sum>=6){System.out.println("YES");}
      else{System.out.println("NO");}
      
      scan.close();
    }
}

'알고리즘' 카테고리의 다른 글

maxofarr  (0) 2019.08.01
행렬뒤집기  (0) 2019.08.01
inequal  (0) 2019.08.01
Class President  (0) 2019.08.01
Seat  (0) 2019.08.01