๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 4676_Haiku Review

๋ฟŒ์•ผ._. 2025. 10. 29. 12:45
๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/4676)

< Haiku Review >

 

๋ฌธ์ œ ํ’€์ด 

 

๋ชจ์Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•ด ๊ฐ ์ค„์— ์˜ฌ๋ฐ”๋ฅธ ์Œ์ ˆ ์ˆ˜๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

์ด๋•Œ, ์—ฐ์†๋œ ๋ชจ์Œ์€ ํ•˜๋‚˜์˜ ์Œ์ ˆ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค.

 

my solution (Java)

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

public class _4676_ { // Haiku Review

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

		String str = "";
		int syllable[] = { 5, 7, 5 };
		char vowel[] = { 'a', 'e', 'i', 'o', 'u', 'y' };

		while (!(str = bf.readLine()).equals("e/o/i")) {
			String[] arr = str.split("/");
			boolean wrong = false;

			for (int i = 0; i < 3; i++) {
				int cnt = 0;
				boolean flag = false;

				for (int j = 0; j < arr[i].length(); j++) {
					boolean check = false;
					for (int k = 0; k < 6; k++) {
						if (arr[i].charAt(j) == vowel[k]) {
							check = true;
							break;
						}
					}
					if (!flag && check) {
						flag = true;
						cnt += 1;
					} else if (flag && !check) {
						flag = false;
					}
				}
				if (syllable[i] != cnt) {
					wrong = true;
					bw.write((i + 1) + "\n");
					break;
				}
			}
			if (!wrong) {
				bw.write("Y\n");
			}
		}
		bw.flush();
	}
}
๋ณ€์ˆ˜)
str : ์ž…๋ ฅ๋œ ๋ฌธ์žฅ
syllable : ์Œ์ ˆ
vowel : ๋ชจ์Œ
wrong : ์˜ฌ๋ฐ”๋ฅธ ์Œ์ ˆ ์ˆ˜๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€
cnt : ์Œ์ ˆ ์ˆ˜
flag : ์—ฐ์†๋œ ๋ชจ์Œ ํŒ๋ณ„
check : ๋ชจ์Œ ํŒ๋ณ„

 

"e/o/i"๊ฐ€ ์ž…๋ ฅ๋˜๊ธฐ ์ „๊นŒ์ง€ ๋ฌธ์žฅ์„ ๊ณ„์† ์ž…๋ ฅ๋ฐ›์•„ ๋‹ค์Œ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

 

1) ๋ฌธ์žฅ์„ "/"๊ธฐ์ค€ split

2) ํ•œ ์ค„์”ฉ ํƒ์ƒ‰ํ•˜๋ฉฐ ๋ชจ์Œ์ธ์ง€ ํŒ๋ณ„ ํ›„ ๋ชจ์Œ ๊ฐœ์ˆ˜ ํŒ๋ณ„. ์ด๋•Œ, ์—ฐ์†๋œ ๋ชจ์Œ์ธ์ง€ ํ™•์ธํ•˜์—ฌ ์—ฐ์†๋œ ๋ชจ์Œ์€ ํ•˜๋‚˜๋กœ ๊ฐ„์ฃผํ•จ

3) ์˜ฌ๋ฐ”๋ฅธ ์Œ์ ˆ ์ˆ˜๋ผ๋ฉด Y๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ์˜ฌ๋ฐ”๋ฅธ ์Œ์ ˆ ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ์ž˜๋ชป๋œ ๋ฌธ์žฅ์˜ ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.



 

'๐ŸŒžAlgorithm > ๐Ÿ”ฅBaekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Baekjoon] 5741_Soccer League  (0) 2025.10.31
[Baekjoon] 9794_Another Word Sorting  (0) 2025.10.30
[Baekjoon] 5747_Odd or Even  (0) 2025.10.27
[Baekjoon] 5599_ใ‚ซใƒผใƒ‰ใฎไธฆใณๆ›ฟใˆ  (0) 2025.10.16
[Baekjoon] 5591_ๆœ€ๅคงใฎๅ’Œ  (0) 2025.10.13