๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 12927_๋ฐฐ์ˆ˜ ์Šค์œ„์น˜

๋ฟŒ์•ผ._. 2024. 4. 11. 23:20

Silver IV

๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/12927)

< ๋ฐฐ์ˆ˜ ์Šค์œ„์น˜ >

 

๋ฌธ์ œ ํ’€์ด 

 

์•ž์—์„œ๋ถ€ํ„ฐ ์ „๊ตฌ๋ฅผ ๋ˆ๋‹ค.

 

 my solution (Java)

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

public class _12927_ { // ๋ฐฐ์ˆ˜ ์Šค์œ„์น˜

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

		String str = bf.readLine();

		boolean[] arr = new boolean[str.length() + 1];
		for (int i = 1; i <= str.length(); i++) {
			if (str.charAt(i - 1) == 'Y') {
				arr[i] = true;
			}
		}

		int result = 0;
		for (int i = 1; i < arr.length; i++) {
			if (arr[i]) {
				result += 1;
				int idx = i;
				while (idx < arr.length) {
					arr[idx] = !arr[idx];
					idx += i;
				}
			}
		}
		System.out.println(result);
	}
}
๋ณ€์ˆ˜)
str : ์ „๊ตฌ ์ƒํƒœ
arr : ์ „๊ตฌ ์ƒํƒœ boolean ๊ฐ’ (true: ์ผœ์ง, false: ๊บผ์ง)
result : ๋ชจ๋“  ์ „๊ตฌ๋ฅผ ๋„๊ธฐ ์œ„ํ•ด ๋ˆŒ๋Ÿฌ์•ผ ํ•˜๋Š” ์Šค์œ„์น˜ ์ˆ˜

 

์ „๊ตฌ์˜ ์ƒํƒœ๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ์ „๊ตฌ์˜ ์ƒํƒœ๋ฅผ ๋ณด๋ฉฐ ์ „๊ตฌ๊ฐ€ ์ผœ์ ธ ์žˆ๋‹ค๋ฉด ๋ฐฐ์—ด ๊ฐ’์„ true, ๊บผ์ ธ์žˆ๋‹ค๋ฉด false๋กœ ์ €์žฅํ•œ๋‹ค. ๋ฐฐ์—ด์„ ์•ž์—์„œ๋ถ€ํ„ฐ ํƒ์ƒ‰ํ•˜๋ฉด์„œ ๊ฐ’์ด true์ด๋ฉด result+1์„ ํ•œ ํ›„ ๋ฐฐ์ˆ˜์˜ ๊ฐ’์„ ๋ฐ˜๋Œ€ ๊ฐ’์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.

 

์ตœ์ข… ๋ชจ๋“  ์ „๊ตฌ๋ฅผ ๋„๊ธฐ ์œ„ํ•ด์„œ ๋ˆŒ๋Ÿฌ์•ผ ํ•˜๋Š” ์Šค์œ„์น˜ ์ˆ˜ result๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.