๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 1141_์ ‘๋‘์‚ฌ

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

Silver I

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

< ์ ‘๋‘์‚ฌ >

 

๋ฌธ์ œ ํ’€์ด 

 

์ ‘๋‘์‚ฌ X์ง‘ํ•ฉ์ธ ๋ถ€๋ถ„์ง‘ํ•ฉ์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•œ ๋‹จ์–ด๊ฐ€ ๋‹ค๋ฅธ ๋‹จ์–ด์˜ ์ ‘๋‘์–ด๊ฐ€ ๋˜๋Š” ๋‹จ์–ด๋ฅผ ํ•˜๋‚˜์”ฉ ๋นผ๋ฉด ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด [h, hi, hello]๊ฐ€ ์žˆ๋‹ค๋ฉด h๊ฐ€ hi์˜ ์ ‘๋‘์–ด ์ด๋ฏ€๋กœ ์ œ์™ธํ•˜๊ณ  hi๋Š” hello์˜ ์ ‘๋‘์–ด๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ [h], [hi, hello]๋กœ ๋‚˜๋ˆ„๋ฉด ๋ถ€๋ถ„ ์ง‘ํ•ฉ์˜ ์ตœ๋Œ€ ํฌ๊ธฐ์ธ 2๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

 my solution (Java)

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

public class _1141_ { // ์ ‘๋‘์‚ฌ

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

		int n = Integer.parseInt(bf.readLine());

		String arr[] = new String[n];
		for (int i = 0; i < n; i++) {
			arr[i] = bf.readLine();
		}

		Arrays.sort(arr);

		int result = 0;
		boolean flag = false;

		for (int i = 0; i < n - 1; i++) {
			flag = false;
			for (int j = 0; j < arr[i].length(); j++) {
				if (arr[i].charAt(j) != arr[i + 1].charAt(j)) {
					flag = true;
				}
				if (flag) {
					break;
				}
			}
			if (!flag) {
				result += 1;
			}
		}
		System.out.println(n - result);
	}
}

 

Main

๋ณ€์ˆ˜)
n : ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜
arr : ๋‹จ์–ด ์ €์žฅ ๋ฐฐ์—ด
result : ๋‹ค๋ฅธ ๋‹จ์–ด์˜ ์ ‘๋‘์–ด์ธ ๋‹จ์–ด ๊ฐœ์ˆ˜
flag : ์ผ์น˜ ์—ฌ๋ถ€

 

๋‹จ์–ด์˜ ๊ฐœ์ˆ˜(n)๋ฅผ ์ž…๋ ฅ๋ฐ›์€ ํ›„ ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋งŒํผ ๋‹จ์–ด๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค.

ํ•œ ๋‹จ์–ด๊ฐ€ ๋‹ค๋ฅธ ๋‹จ์–ด์˜ ์ ‘๋‘์–ด๊ฐ€ ๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋น„์Šทํ•œ ๋‹จ์–ด๋ผ๋ฆฌ ํ™•์ธํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ •๋ ฌํ•ด ์ค€๋‹ค.

์ •๋ ฌํ•œ ๋ฐฐ์—ด์„ ์ˆœํ™˜ํ•˜๋ฉฐ ์ธ์ ‘ํ•œ ๋‹จ์–ด์˜(=๋‹ค์Œ ๋‹จ์–ด์˜) ์ ‘๋‘์–ด์ธ์ง€ ํ™•์ธํ•œ๋‹ค. ์ ‘๋‘์–ด๋ผ๋ฉด result +1์„ ํ•ด์ค€๋‹ค. 

์ตœ์ข… ์ถœ๋ ฅํ•ด์•ผ ํ•˜๋Š” ์ ‘๋‘์‚ฌ X ์ง‘ํ•ฉ์ธ ๋ถ€๋ถ„์ง‘ํ•ฉ์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๋Š” (์ „์ฒด ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜) - (๋‹ค๋ฅธ ๋‹จ์–ด์˜ ์ ‘๋‘์–ด์ธ ๊ฒฝ์šฐ)์ด๋‹ค.