์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ/BOJ_Java

[BOJ/Step7] 1316 : ๊ทธ๋ฃน ๋‹จ์–ด ์ฒด์ปค (JAVA)

NaNaRin๐Ÿ™ƒ 2021. 1. 12. 22:42

www.acmicpc.net/problem/1316

 

1316๋ฒˆ: ๊ทธ๋ฃน ๋‹จ์–ด ์ฒด์ปค

๊ทธ๋ฃน ๋‹จ์–ด๋ž€ ๋‹จ์–ด์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž์— ๋Œ€ํ•ด์„œ, ๊ฐ ๋ฌธ์ž๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ์šฐ๋งŒ์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ccazzzzbb๋Š” c, a, z, b๊ฐ€ ๋ชจ๋‘ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ณ , kin๋„ k, i, n์ด ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ

www.acmicpc.net


๋ฌธ์ œ

๊ทธ๋ฃน ๋‹จ์–ด๋ž€ ๋‹จ์–ด์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž์— ๋Œ€ํ•ด์„œ, ๊ฐ ๋ฌธ์ž๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒฝ์šฐ๋งŒ์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ccazzzzbb๋Š” c, a, z, b๊ฐ€ ๋ชจ๋‘ ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ณ , kin๋„ k, i, n์ด ์—ฐ์†ํ•ด์„œ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ฃน ๋‹จ์–ด์ด์ง€๋งŒ, aabbbccb๋Š” b๊ฐ€ ๋–จ์–ด์ ธ์„œ ๋‚˜ํƒ€๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ฃน ๋‹จ์–ด๊ฐ€ ์•„๋‹ˆ๋‹ค.

๋‹จ์–ด N๊ฐœ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ๊ทธ๋ฃน ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜ N์ด ๋“ค์–ด์˜จ๋‹ค. N์€ 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๋‹จ์–ด๊ฐ€ ๋“ค์–ด์˜จ๋‹ค. ๋‹จ์–ด๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ๋˜์–ด์žˆ๊ณ  ์ค‘๋ณต๋˜์ง€ ์•Š์œผ๋ฉฐ, ๊ธธ์ด๋Š” ์ตœ๋Œ€ 100์ด๋‹ค.

 

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ๊ทธ๋ฃน ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

์˜ˆ์ œ ์ž…๋ ฅ 1

3

happy

new

year

 

์˜ˆ์ œ ์ถœ๋ ฅ 1

3

 

์˜ˆ์ œ ์ž…๋ ฅ 2

4

aba

abab

abcabc

a

 

์˜ˆ์ œ ์ถœ๋ ฅ 2

1


ํ’€์ด

๊ทธ๋ฃน๋‹จ์–ด : ๊ฐ™์€ ๋ฌธ์ž๊ฐ€ ์—ฐ์†๋˜์–ด์žˆ์ง€ ์•Š๊ณ  ์„œ๋กœ ๋–จ์–ด์ ธ ์žˆ๋Š” ๋‹จ์–ด

1. ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜ num์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค

2. ๊ทธ๋ฃน ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜ count๋ฅผ num์œผ๋กœ ์ €์žฅ (= ์ „๋ถ€ ๊ทธ๋ฃน ๋‹จ์–ด์ผ๊ฑฐ๋ผ ๊ฐ€์ •)

3. ์ž…๋ ฅ๋ฐ›์€ ๋‹จ์–ด์˜ ์ฒซ๋ฒˆ์งธ ๋ฌธ์ž c๋ถ€ํ„ฐ

   3-1. ํ•ด๋‹น ๋ฌธ์ž๋ฅผ ๊ณต๋ฐฑ" "์œผ๋กœ ์น˜ํ™˜

         => replaceFirst() ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ

   3-2. ๊ฐ™์€ ๋ฌธ์ž๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ๊ฒ€์‚ฌ

         => indexOf() ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ

   3-3. ์กด์žฌํ•  ์‹œ, ๊ธฐ์กด ๋ฌธ์ž์™€ index ์ฐจ์ด๊ฐ€ 1์ด ์•„๋‹ˆ๋ฉด (= ๊ทธ๋ฃน ๋‹จ์–ด๊ฐ€ ์•„๋‹ˆ๋ฉด) count--

4. count ์ถœ๋ ฅ

 

import java.util.Scanner;

public class B1316 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int num = sc.nextInt();
		sc.nextLine();
		int count = num;
		
		for(int i = 0; i < num; i++) {
			String s = sc.nextLine();
			
			for(int j = 0; j < s.length(); j++) { 
				char c = s.charAt(j);
				s = s.replaceFirst(String.valueOf(c), " ");
				int check = s.indexOf(c);
				if(check != -1 && check-1 != j) {
					count--;
					break;
				}
			}
		}
		System.out.println(count);
	}
}