본문 바로가기
백준/출제한 문제들

[백준] 30403번 : 무지개 만들기

by lms0806 2023. 11. 1.
728x90
반응형

https://www.acmicpc.net/problem/30403

 

30403번: 무지개 만들기

무지개 문자열은 R(빨간색), O(주황색), Y(노란색), G(초록색), B(파란색), I(남색), V(보라색) 순으로 이루어진 문자열이며, 대소문자를 구분하지 않는다. 임스는 춘배에게 영어 대소문자로 이루어진

www.acmicpc.net

주어진 문자열을 활용해서 무지개(ROYGBIV)을 만들 수 있는지 체크하는 문제입니다.

단, 소문자인지 대문자인지 가능한지 체크한 후에 따라 결과를 다르게 하면 됩니다.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		br.readLine();
		String s = br.readLine();
		
		boolean[] upperAlpha = new boolean[26], lowerAlpha = new boolean[26];
		
		for(char c : s.toCharArray()) {
			if(c >= 'A' && c <= 'Z') {
				upperAlpha[c - 'A'] = true;
			}
			else {
				lowerAlpha[c - 'a'] = true;
			}
		}
		
		int[] num = {1, 6, 8, 14, 17, 21, 24};
		
		int upper = 0, lower = 0;
		for(int i = 0; i < num.length; i++) {
			if(upperAlpha[num[i]]) {
				upper++;
			}
			if(lowerAlpha[num[i]]) {
				lower++;
			}
		}
		
		System.out.print(upper == 7 ? lower == 7 ? "YeS" : "YES" : lower == 7 ? "yes" : "NO!");
	}
}
728x90
반응형

댓글