๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 1343_ํด๋ฆฌ์˜ค๋ฏธ๋…ธ

๋ฟŒ์•ผ._. 2023. 9. 11. 15:42

Silver V

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

< ํด๋ฆฌ์˜ค๋ฏธ๋…ธ >

 

๋ฌธ์ œ ํ’€์ด 

 

. ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ๋‚˜๋ˆ  ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 4์˜ ๋ฐฐ์ˆ˜, 2์˜ ๋ฐฐ์ˆ˜, 6์˜ ๋ฐฐ์ˆ˜๋ผ๋ฉด ํด๋ฆฌ์˜ค๋ฏธ๋…ธ๋กœ ๋ฎ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค.

์œ„์˜ ์กฐ๊ฑด์— ํ•ด๋‹นํ•œ๋‹ค๋ฉด ์‚ฌ์ „์ˆœ์œผ๋กœ ๊ฐ€์žฅ ์•ž์„œ๋Š” ๋‹ต์„ ์ถœ๋ ฅํ•ด์•ผ ํ•˜๋ฏ€๋กœ A๋ฅผ ๋จผ์ € ์•ž์— ๋‘๊ธฐ ์œ„ํ•ด ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 4 ์ด์ƒ์ด๋ฉด A๋กœ ๋ฎ๋Š”๋‹ค. ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 2์ผ ๋•Œ๋งŒ B๋กœ ๋ฎ๋Š”๋‹ค. ์ด ์ด์™ธ๋Š” ํด๋ฆฌ์˜ค๋ฏธ๋…ธ๋กœ ๋ฎ์„ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ -1์„ ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒํ•œ๋‹ค.

 

 

 my solution (Java)

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

public class _1343_ { // ํด๋ฆฌ์˜ค๋ฏธ๋…ธ

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

		String board = bf.readLine();
		String[] arr = board.split("\\.");

		String result = "";
		boolean flag = false;

		int idx = 0;
		while (idx < board.length() && board.charAt(idx) == '.') {
			result += ".";
			idx += 1;
		}

		for (String x : arr) {
			int len = x.length();
			if (len % 4 == 0 || len % 2 == 0 || len % 6 == 0) {
				while (len > 0) {
					if (len >= 4) {
						result += "AAAA";
						len -= 4;
						idx += 4;
					} else if (len == 2) {
						result += "BB";
						len -= 2;
						idx += 2;
					}
				}
			} else {
				flag = true;
				break;
			}

			while (idx < board.length() && board.charAt(idx) == '.') {
				result += ".";
				idx += 1;
			}
		}

		if (flag) {
			System.out.println(-1);
		} else {
			System.out.println(result);
		}
	}
}

 

Main

๋ณ€์ˆ˜)
board : ๋ณด๋“œํŒ
arr : '.'์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆˆ ๋ฌธ์ž์—ด ๋ฐฐ์—ด
result : ๋‹ต
flag : ํด๋ฆฌ์˜ค๋ฏธ๋…ธ๋กœ ๋ฎ์„ ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€
idx : ๋ฌธ์ž์—ด ์ธ๋ฑ์Šค

 

- ๋ณด๋“œํŒ(board) ์ž…๋ ฅ

- ๋ณด๋“œํŒ์„ '.'์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆˆ ๊ฒƒ์„ ์ €์žฅ(arr)

- ๋ณด๋“œํŒ ์•ž๋ถ€๋ถ„์ด  '.'์ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ '.'์ธ์ง€ ํ™•์ธ ํ›„ '.'์ด๋ผ๋ฉด ์ •๋‹ต์— '.'  ์ถ”๊ฐ€

- '.'์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆˆ ๊ฒƒ์„(arr) ํƒ์ƒ‰

: ๋ฌธ์ž์—ด ๊ธธ์ด๊ฐ€ 4์˜ ๋ฐฐ์ˆ˜, 2์˜ ๋ฐฐ์ˆ˜ ๋˜๋Š” 6์˜ ๋ฐฐ์ˆ˜๋ผ๋ฉด ํด๋ฆฌ์˜ค๋ฏธ๋…ธ๋กœ ๋ฎ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 4๋ณด๋‹ค ํฌ๋‹ค๋ฉด A๋กœ ๋ฎ๊ณ  ๊ธธ์ด ์ฐจ๊ฐ, ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 2๋ผ๋ฉด B๋กœ ๋ฎ๊ณ  ๋ฌธ์ž์—ด ๊ธธ์ด ์ฐจ๊ฐํ•˜์—ฌ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ 0์ด ๋  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต

: ๋ฌธ์ž์—ด ๊ธธ์ด๊ฐ€ 4์˜ ๋ฐฐ์ˆ˜, 2์˜ ๋ฐฐ์ˆ˜ ๋˜๋Š” 6์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ํด๋ฆฌ์˜ค๋ฏธ๋…ธ๋กœ ๋ฎ์„ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ฐ”๋กœ ์ข…๋ฃŒ

: ์ค‘๊ฐ„์— '.'์ด ๋ช‡ ๊ฐœ ๋“ค์–ด์žˆ๋Š”์ง€ ๋ชจ๋ฅด๋ฏ€๋กœ ๋ฌธ์ž์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด '.' ์ถ”๊ฐ€

- ํด๋ฆฌ์˜ค๋ฏธ๋…ธ๋กœ ๋ฎ์„ ์ˆ˜ ์—†์œผ๋ฉด -1 ์ถœ๋ ฅ/ ๋ฎ์„ ์ˆ˜ ์žˆ์œผ๋ฉด result ์ถœ๋ ฅ 

 



 

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

[Baekjoon] 1449_์ˆ˜๋ฆฌ๊ณต ํ•ญ์Šน  (0) 2023.09.14
[Baekjoon] 1439_๋’ค์ง‘๊ธฐ  (0) 2023.09.13
[Baekjoon] 1976_์—ฌํ–‰ ๊ฐ€์ž  (0) 2023.09.01
[Baekjoon] 23843_์ฝ˜์„ผํŠธ  (0) 2023.08.31
[Baekjoon] 25381_ABBC  (0) 2023.08.30