01-08 08:57
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

miinsun

[BAEKJOON] ๋ฐฑ์ค€ ๊ตฌํ˜„ 9996 :: ํ•œ๊ตญ์ด ๊ทธ๋ฆฌ์šธ ๋• ์„œ๋ฒ„์— ์ ‘์†ํ•˜์ง€ ๋ณธ๋ฌธ

Algorithm/Baekjoon

[BAEKJOON] ๋ฐฑ์ค€ ๊ตฌํ˜„ 9996 :: ํ•œ๊ตญ์ด ๊ทธ๋ฆฌ์šธ ๋• ์„œ๋ฒ„์— ์ ‘์†ํ•˜์ง€

miinsun 2022. 6. 10. 02:42

๐Ÿ’ฌ  ๋ฌธ์ œ ์„ค๋ช…

์„ ์˜์ด๋Š” ์ด๋ฒˆ ํ•™๊ธฐ์— ์˜ค์ŠคํŠธ๋ ˆ์ผ๋ฆฌ์•„๋กœ ๊ตํ™˜ ํ•™์ƒ์„ ๊ฐ€๊ฒŒ ๋˜์—ˆ๋‹ค. ํ˜ธ์ฃผ์— ๋„์ฐฉํ•˜๊ณ  ์ฒ˜์Œ ๋ฉฐ์น ์€ ํ•œ๊ตญ ์ƒ๊ฐ์„ ์žŠ์œผ๋ฉด์„œ ์ฆ๊ฒ๊ฒŒ ์ง€๋ƒˆ๋‹ค. ๋ช‡ ์ฃผ๊ฐ€ ์ง€๋‚˜๋‹ˆ ํ•œ๊ตญ์ด ๊ทธ๋ฆฌ์›Œ์ง€๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. 

์„ ์˜์ด๋Š” ํ•œ๊ตญ์— ๋‘๊ณ ์˜จ ์„œ๋ฒ„์— ์ ‘์†ํ•ด์„œ ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ๋“ค์–ด์žˆ๋Š” ํŒŒ์ผ ์ด๋ฆ„์„ ๋ณด๋ฉด์„œ ๊ทธ๋ฆฌ์›€์„ ์žŠ๊ธฐ๋กœ ํ–ˆ๋‹ค. ๋งค์ผ ๋ฐค, ํŒŒ์ผ ์ด๋ฆ„์„ ๋ณด๋ฉด์„œ ํŒŒ์ผ ํ•˜๋‚˜ํ•˜๋‚˜์— ์–ฝํžŒ ์‚ฌ์—ฐ์„ ๊ธฐ์–ตํ•˜๋ฉด์„œ ํ•œ๊ตญ์„ ์ƒ๊ฐํ•˜๊ณ  ์žˆ์—ˆ๋‹ค.

์–ด๋Š ๋‚ ์ด์—ˆ๋‹ค. ํ•œ๊ตญ์— ์žˆ๋Š” ์„œ๋ฒ„๊ฐ€ ๋ง๊ฐ€์กŒ๊ณ , ๊ทธ ๊ฒฐ๊ณผ ํŠน์ • ํŒจํ„ด๊ณผ ์ผ์น˜ํ•˜๋Š” ํŒŒ์ผ ์ด๋ฆ„์„ ์ ์ ˆํžˆ ์ถœ๋ ฅํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฒ„๊ทธ๊ฐ€ ์ƒ๊ฒผ๋‹ค.
ํŒจํ„ด์€ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž ์—ฌ๋Ÿฌ ๊ฐœ์™€ ๋ณ„ํ‘œ(*) ํ•˜๋‚˜๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด๋‹ค.

ํŒŒ์ผ ์ด๋ฆ„์ด ํŒจํ„ด์— ์ผ์น˜ํ•˜๋ ค๋ฉด, ํŒจํ„ด์— ์žˆ๋Š” ๋ณ„ํ‘œ๋ฅผ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ์ž„์˜์˜ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ด ํŒŒ์ผ ์ด๋ฆ„๊ณผ ๊ฐ™๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋ณ„ํ‘œ๋Š” ๋นˆ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊ฟ€ ์ˆ˜๋„ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, "abcd", "ad", "anestonestod"๋Š” ๋ชจ๋‘ ํŒจํ„ด "a*d"์™€ ์ผ์น˜ํ•œ๋‹ค. ํ•˜์ง€๋งŒ, "bcd"๋Š” ์ผ์น˜ํ•˜์ง€ ์•Š๋Š”๋‹ค.

ํŒจํ„ด๊ณผ ํŒŒ์ผ ์ด๋ฆ„์ด ๋ชจ๋‘ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ๊ฐ์˜ ํŒŒ์ผ ์ด๋ฆ„์ด ํŒจํ„ด๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ์•„๋‹Œ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

๐Ÿ”จ  ์ž…์ถœ๋ ฅ ์˜ˆ

์ž…๋ ฅ 

  • ์ฒซ์งธ ์ค„์— ํŒŒ์ผ์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 100)
  • ๋‘˜์งธ ์ค„์—๋Š” ํŒจํ„ด์ด ์ฃผ์–ด์ง„๋‹ค. ํŒจํ„ด์€ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž์™€ ๋ณ„ํ‘œ(์•„์Šคํ‚ค๊ฐ’ 42) ํ•œ ๊ฐœ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.
  • ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 100์„ ๋„˜์ง€ ์•Š์œผ๋ฉฐ, ๋ณ„ํ‘œ๋Š” ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘๊ณผ ๋์— ์žˆ์ง€ ์•Š๋‹ค.
  • ๋‹ค์Œ N๊ฐœ ์ค„์—๋Š” ํŒŒ์ผ ์ด๋ฆ„์ด ์ฃผ์–ด์ง„๋‹ค. ํŒŒ์ผ ์ด๋ฆ„์€ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๊ธธ์ด๋Š” 100์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค.

 

์ถœ๋ ฅ

  • ์ด N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ์„œ, ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ i๋ฒˆ์งธ ํŒŒ์ผ ์ด๋ฆ„์ด ํŒจํ„ด๊ณผ ์ผ์น˜ํ•˜๋ฉด "DA", ์ผ์น˜ํ•˜์ง€ ์•Š์œผ๋ฉด "NE"๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
  • ์ฐธ๊ณ ๋กœ, "DA"๋Š” ํฌ๋กœ์•„ํ‹ฐ์–ด์–ด๋กœ "YES"๋ฅผ, "NE"๋Š” "NO"๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 

์˜ˆ์ œ ์ž…๋ ฅ 1)

3
a*d
abcd
anestonestod
facebook

 

์˜ˆ์ œ ์ถœ๋ ฅ 1)

DA
DA
NE

 

์˜ˆ์ œ ์ž…๋ ฅ 2)

6
h*n
huhovdjestvarnomozedocisvastan
honijezakon
atila
je
bio
hun

 

์˜ˆ์ œ ์ถœ๋ ฅ 2)

DA
DA
NE
NE
NE
DA

โ€‹

โ€‹

๐Ÿ’ป  Main.java

  • ์‹ค๋ฒ„ 3๋‹จ๊ณ„์—์„œ ์ •๋‹ต ๋น„์œจ์ด 27% ๋ฐ–์— ์•ˆ๋˜๋Š” ์‹ ๊ธฐํ•œ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜์˜€๋‹ค.
    • ์ •๋‹ต์„ ํฌ๋ฆฌ์•„ํ‹ฐ์•„์–ด๋กœ "DA", "NE"๋กœ ์ถœ๋ ฅํ•ด์•ผ๋ผ์„œ ์ •๋‹ต์œจ์ด ๋‚ฎ์•˜๋˜๊ฑฐ ๊ฐ™๊ธฐ๋„ํ•˜๋‹ค
  • String.split()์„ ํ™œ์šฉํ•ด์„œ ํŒจํ„ด์„ ์•ž๋ถ€๋ถ„๊ณผ ๋’ท๋ถ€๋ถ„์œผ๋กœ 2๊ตฌ๊ฐ„์œผ๋กœ ๋‚˜๋ˆ ์คฌ๋‹ค
  • ํŒŒ์ผ์˜ ์ด๋ฆ„์˜ ์•ž๋ถ€๋ถ„์„ ํŒจํ„ด์˜ ์•ž๋ถ€๋ถ„๊ณผ ๋น„๊ตํ•˜๊ณ , ํŒŒ์ผ์˜ ์ด๋ฆ„์˜ ๋’ท๋ถ€๋ถ„์„ ํŒจํ„ด์˜ ๋’ท๋ถ€๋ถ„๊ณผ ๋น„๊ตํ•ด์ค€๋‹ค
    • ์ด๋•Œ String.substring()ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•œ๋‹ค
    • ํŒŒ์ผ ์ด๋ฆ„์˜ ์•ž ๋ถ€๋ถ„์„ ์ธ๋ฑ์Šค 0๋ถ€ํ„ฐ ํŒจํ„ด์˜ ์•ž๋ถ€๋ถ„์˜ ๊ธธ์ด๊นŒ์ง€ ์ž๋ฅธ๋‹ค.
    • ํŒŒ์ผ ์ด๋ฆ„์˜ ๋’ท ๋ถ€๋ถ„์„ ์ธ๋ฑ์Šค ํŒŒ์ผ์˜ ์ „์ฒด ๊ธธ์ด์—์„œ ํŒจํ„ด์˜ ๋’ท๋ถ€๋ถ„์˜ ๊ธธ์ด๋ฅผ ๋บ€ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ํŒŒ์ผ ์ด๋ฆ„์˜ ๋๊นŒ์ง€ ์ž˜๋ผ์ค€๋‹ค.
  • ๋งŒ์•ฝ ํŒจํ„ด์˜ ์ „์ฒด ๊ธธ์ด๋ณด๋‹ค ํŒŒ์ผ์ด๋ฆ„์ด ์ž‘์œผ๋ฉด ํ•ญ์ƒ ํŒŒ์ผ ํŒจํ„ด๊ณผ ์ผ์น˜ ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.
/* ๋ฐฑ์ค€ - 9996 :: ํ•œ๊ตญ์ด ๊ทธ๋ฆฌ์šธ ๋• ์„œ๋ฒ„์— ์ ‘์†ํ•˜์ง€ */
import java.util.*;
import java.io.*;

public class Main {

	public static void main(String[] args) throws IOException{
		Scanner sc = new Scanner (System.in);
		int n = sc.nextInt();	// ํŒŒ์ผ์˜ ๊ฐœ์ˆ˜
		String[] pattern = sc.next().split("\\*"); // pattern[0]์€ ์•ž๋ถ€๋ถ„, pattern[1]์€ ๋’ท๋ถ€๋ถ„

		for(int i = 0; i < n; i++) {
			String s = sc.next();
			
			if(s.length() < pattern[0].length() + pattern[1].length()) { //ํŒŒ์ผ์ด๋ฆ„๊ณผ ํŒจํ„ด์˜ ์ด๊ธธ์ด ๋น„๊ต
				System.out.println("NE");
			}
			else {
				if(pattern[0].equals(s.substring(0, pattern[0].length()))// ์•ž๋ถ€๋ถ„ ๋น„๊ต
						&& pattern[1].equals(s.substring(s.length() - pattern[1].length())))// ๋’ท๋ถ€๋ถ„ ๋น„๊ต
					System.out.println("DA");
				else
					System.out.println("NE");
				
			}
			
		}
		
		
        sc.close();
	}
}

 

Comments