[BOJ/๋ฐฑ์ค€] 20047 ๋™์ „ ์˜ฎ๊ธฐ๊ธฐ - ์ž๋ฐ”

2021. 10. 5. 20:32ยท๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜/PS

๋ฌธ์ œ

 

๋ฌธ์ œํ’€์ด

์ž…๋ ฅ๋ฐ›์€ S ๋ฐฐ์—ด์—์„œ ๋‘ ๋™์ „์„ ์ œ์™ธํ•œ ๋ฐฐ์—ด์„ ์ƒˆ๋กœ ๋งŒ๋“ค๊ณ  ์„ ํƒ๋ฐ›์€ ๋‘ ๋™์ „์€ ๋˜ ๋”ฐ๋กœ temp ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์–ด์„œ T ๋ฐฐ์—ด๊ณผ ๋น„๊ตํ•  ๋•Œ ์‚ฌ์šฉํ–ˆ๋‹ค. find ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์žฌ๊ท€์ ์œผ๋กœ ํ’€์—ˆ๋‹ค.

 

find ํ•จ์ˆ˜

 1. s ๋ฐฐ์—ด index ๊ฐ’ + ๋‘ ๋™์ „ ์‚ฌ์šฉ ํšŸ์ˆ˜ == n-1์ด๋ฉด ํƒ์ƒ‰ ์™„๋ฃŒ, 1์„ return

 2. index๊ฐ€ n-2์ธ ๊ฒฝ์šฐ -> T๋กœ ๋งŒ๋“ค ์ˆ˜ ์—†๋‹ค. 0์„ return (ex) oxo ์—์„œ x,o๋ฅผ ๋ฝ‘์•„์„œ oox๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ)

 3. s[index] == t[index+cnt] ์ด๋ฉด index๋ฅผ ์ฆ๊ฐ€์‹œ์ผœ์„œ ๋‹ค์Œ ๊ฐ’์„ ๋น„๊ตํ•œ๋‹ค. 

 4. ๋‘ ๋™์ „ ์‚ฌ์šฉ ํšŸ์ˆ˜๊ฐ€ 2์ธ ๊ฒฝ์šฐ; ์œ„์—์„œ ํ•ด๋‹นํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์—†์—ˆ๊ธฐ์— ์„ ํƒํ•œ ๋™์ „์„ ์ƒˆ๋กœ ๋„ฃ์–ด ๋ณ€ํ™”๋ฅผ ์ฃผ์–ด์•ผ ํ•˜๋Š”๋ฐ ๊ทธ      ๋Ÿด ์ˆ˜ ์—†์œผ๋ฏ€๋กœ 0 return

 5. temp[cnt] == t[index+cnt] ์ด๋ฉด ์„ ํƒํ•œ ๋™์ „์„ ํ•ด๋‹น ์œ„์น˜์— ์‚ฌ์šฉ. cnt ์ฆ๊ฐ€. s๋ฐฐ์—ด๊ณผ ๋น„๊ตํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ์— index ๊ฐ’      ์€ ์ฆ๊ฐ€ ํ•˜์ง€ ์•Š๋Š”๋‹ค. 

 

 

์ฝ”๋“œ

import java.io.*;
import java.util.StringTokenizer;

public class Main {
	static int n;
	static char s[],t[],temp[];
	public static int find(int index, int cnt) {
		if (index+cnt==n-1) {//sํƒ์ƒ‰ ์™„๋ฃŒ+temp์‚ฌ์šฉ ์™„๋ฃŒ
			return 1;
		}
		if(index==n-2) return 0;
		if(s[index]==t[index+cnt]) { //๊ฐ™์œผ๋ฉด ๋‹ค์Œ ์ˆœ์„œ
			if(find(index+1,cnt)==1) return 1;
		}
		if(cnt==2)return 0; //๋ฐฐ์—ด ๋‹ค๋ฅผ ๋•Œ temp ๋‹ค ์“ด ๊ฒฝ์šฐ
		
		if(temp[cnt]==t[index+cnt]) {//์•ˆ๋งž๋Š” ๋ถ€๋ถ„์ด๋ž‘ temp๋ถ€๋ถ„์ด๋ž‘ ๊ฐ™์€์ง€
			if(find(index,cnt+1)==1) return 1; //๊ฐ™์œผ๋ฉด temp ํ•˜๋‚˜ ์‚ฌ์šฉ
		}
		return 0;
	}
	
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
		n=Integer.parseInt(bf.readLine());
		s=bf.readLine().toCharArray();
		t=bf.readLine().toCharArray();
		int a,b;
		StringTokenizer st=new StringTokenizer(bf.readLine());
		a=Integer.parseInt(st.nextToken());
		b=Integer.parseInt(st.nextToken());
		temp= new char[2];
		temp[0]=s[a];
		temp[1]=s[b];
		int t=0;
		for(int i=0;i<n;i++) {
			if(i==a||i==b)continue;
			s[t]=s[i];
			t++;
		}
		int result=find(0,0);
		if(result==1){
			System.out.print("YES");
		}
		else {
			System.out.print("NO");
		}
		
	}

}

 

๊ธฐํƒ€

dp ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์•˜๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ•  ์ง€ ๋ชฐ๋ผ์„œ recursiveํ•˜๊ฒŒ ํ’€์—ˆ๋‹ค.

ํŒŒ์ด์ฌ์ด์—ˆ์œผ๋ฉด ์‹œ๊ฐ„์ดˆ๊ณผ ๋‚ฌ์„ ๊ฒƒ ๊ฐ™์€๋ฐ ๋‹คํ–‰์ด๋Œœ ์•„์ง ์ž๋ฐ”๊ฐ€ ์ต์ˆ™ํ•˜์ง€ ์•Š์•„์„œ ์ฝ”๋“œ ์งœ๋Š” ๋ฐ ์˜ค๋ž˜๊ฑธ๋ ธ์Œ ใ…œใ…œ

๋‚ด๊ฐ€ ๊ณ ๋ คํ•˜์ง€ ๋ชปํ–ˆ๋˜ ์˜ˆ์™ธ์ ์ธ ์ƒํ™ฉ๋“ค์ด ์žˆ์–ด์„œ ์ฝ”๋“œ ์ œ์ถœํ•˜๋ฉด์„œ ๋ฐ˜๋ก€ ์ฐพ๊ณ  , ์กฐ๊ฑด ์ถ”๊ฐ€ํ•˜๋ฉด์„œ ์งฐ๋”๋‹ˆ ๊น”๋”ํ•˜์ง€๋Š” ์•Š์€ ๋А๋‚Œ ์•„์‰ฝ๋”ฐ

'๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜ > PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[BOJ/๋ฐฑ์ค€] 9024 ๋‘ ์ˆ˜์˜ ํ•ฉ - ํŒŒ์ด์ฌ  (0) 2021.11.01
[BOJ/๋ฐฑ์ค€] 20041 Escaping - ์ž๋ฐ”,ํŒŒ์ด์ฌ  (2) 2021.10.08
[BOJ/๋ฐฑ์ค€] 19538 ๋ฃจ๋จธ - ํŒŒ์ด์ฌ  (0) 2021.09.17
[BOJ/๋ฐฑ์ค€] 1074 Z - ํŒŒ์ด์ฌ  (0) 2021.09.17
[BOJ/๋ฐฑ์ค€] 14891 ํ†ฑ๋‹ˆ๋ฐ”ํ€ด - ํŒŒ์ด์ฌ  (0) 2021.09.15
'๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜/PS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [BOJ/๋ฐฑ์ค€] 9024 ๋‘ ์ˆ˜์˜ ํ•ฉ - ํŒŒ์ด์ฌ
  • [BOJ/๋ฐฑ์ค€] 20041 Escaping - ์ž๋ฐ”,ํŒŒ์ด์ฌ
  • [BOJ/๋ฐฑ์ค€] 19538 ๋ฃจ๋จธ - ํŒŒ์ด์ฌ
  • [BOJ/๋ฐฑ์ค€] 1074 Z - ํŒŒ์ด์ฌ
.๋ฐ.
.๋ฐ.
  • .๋ฐ.
    Do IT
    .๋ฐ.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • All (40)
      • ๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜ (21)
        • PS (16)
        • SQL (4)
        • ์ด๋ก  (5)
      • ๐ŸŽˆcapstone (2)
      • ๐Ÿ’ชBackend (12)
        • Django (8)
        • Spring (4)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    responsecustomclass
    ํŒŒ์ด์ฌ
    springscheduler
    ์Šค์ผ€์ค„๋Ÿฌ
    ๋ฐฑ์ค€
    ์ฝ”ํ…Œ
    python
    BFS
    ๋ฌธ์ œํ’€์ด
    ์ž๋ฐ”
    ์‘๋‹ตํ˜•์‹
    programmers
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    Batch
    resposneentity
    bruteforce
    Django
    ์Šคํ”„๋ง๋ฐฐ์น˜
    ์„œ๋ธŒ์ฟผ๋ฆฌ
    PS
    ๋‹ค์ค‘์กฐ์ธ
    MYSQL
    BOJ
    ETL
    apiresponse
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    crud
    ์žฌ๊ท€
    SQL
    windowํ•จ์ˆ˜
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
.๋ฐ.
[BOJ/๋ฐฑ์ค€] 20047 ๋™์ „ ์˜ฎ๊ธฐ๊ธฐ - ์ž๋ฐ”
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”