๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 1384_๋ฉ”์‹œ์ง€

๋ฟŒ์•ผ._. 2024. 6. 6. 15:00

Silver V

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

< ๋ฉ”์‹œ์ง€ >

 

๋ฌธ์ œ ํ’€์ด 

 

๋‚˜์œ ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ๊ธฐํ•œ ์œ„์น˜๋งŒํผ ํ˜„์žฌ ์œ„์น˜์—์„œ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์‚ฌ๋žŒ์„ ์ฐพ๋Š”๋‹ค.

 

 my solution (Java)

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

public class _1384_ { // ๋ฉ”์‹œ์ง€

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

		int n = -1;
		int idx = 1;

		while ((n = Integer.parseInt(bf.readLine())) != 0) {
			bw.write("Group " + idx++ + "\n");
			String arr[] = new String[n];
			char info[][] = new char[n][n - 1];
			for (int i = 0; i < n; i++) {
				st = new StringTokenizer(bf.readLine());

				String name = st.nextToken();
				arr[i] = name;

				for (int j = 0; j < n - 1; j++) {
					info[i][j] = st.nextToken().charAt(0);
				}
			}

			boolean flag = false;
			for (int i = 0; i < n; i++) {
				for (int j = 0; j < n - 1; j++) {
					if (info[i][j] == 'N') {
						flag = true;
						if (i - (j + 1) < 0) {
							bw.write(arr[i + n - (j + 1)] + " was nasty about " + arr[i] + "\n");
						} else {
							bw.write(arr[i - (j + 1)] + " was nasty about " + arr[i] + "\n");
						}
					}
				}
			}
			if (!flag) {
				bw.write("Nobody was nasty\n");
			}
			bw.write("\n");
		}
		bw.flush();
	}
}
๋ณ€์ˆ˜)
n : ์ฐธ์—ฌํ•œ ์•„์ด๋“ค์˜ ์ˆ˜  
idx : Group ๋ฒˆํ˜ธ
arr : ์•„์ด๋“ค ์ด๋ฆ„
info : ๋ฉ”์‹œ์ง€ ๋‚ด์šฉ
name : ์ด๋ฆ„
flag : ๋‚˜์œ ๋ง ํ•œ ์—ฌ๋ถ€

 

์ฐธ์—ฌํ•œ ์•„์ด๋“ค์˜ ์ˆ˜๊ฐ€ 0์ด ์•„๋‹ ๋•Œ๊นŒ์ง€ ๋‹ค์Œ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค.

 

1) ์ด๋ฆ„์„ ์ž…๋ ฅ๋ฐ›์•„ arr์— ์ˆœ์„œ๋Œ€๋กœ ์ €์žฅํ•œ๋‹ค.

2) ๋ฉ”์‹œ์ง€ ๋‚ด์šฉ์„ info ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค.

3) info๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉด์„œ N์ธ ๊ฐ’์„ ์ฐพ๋Š”๋‹ค. (N์˜ ์ธ๋ฑ์Šค + 1) ๊ฐ’๋งŒํผ arr์˜ ํ˜„์žฌ ์œ„์น˜์—์„œ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ํ•œ๋‹ค. ๊ทธ ๊ฐ’์— ํ•ด๋‹นํ•˜๋Š” ์‚ฌ๋žŒ์ด ๋‚˜์œ ๋ง์„ ํ•œ ์‚ฌ๋žŒ์ด๋ฏ€๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

4) ์•„๋ฌด๋„ ๋‚˜์œ ๋ง์„ ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด "Nobody was nasty"๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.