๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 19605_Cyclic Shifts

๋ฟŒ์•ผ._. 2025. 6. 24. 18:00
๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/19605)

< Cyclic Shifts >

 

๋ฌธ์ œ ํ’€์ด 

 

๋ฌธ์ž์—ด์„ ์ˆœํ™˜ ์ด๋™ ์‹œ์ผฐ์„ ๋•Œ ๊ทธ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„ ํ…์ŠคํŠธ์— ํฌํ•จ๋˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

๋ฌธ์ž์—ด ์ˆœํ™˜ : ABCD -> BCDA -> CDAB -> DABC 

 

my solution (Java)

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

public class _19605_ { // Cyclic Shifts

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

		String T = bf.readLine();
		String S = bf.readLine();

		if (T.contains(S)) {
			System.out.println("yes");
		} else {
			boolean flag = false;
			for (int i = 0; i < S.length() - 1; i++) {
				S = S.substring(1, S.length()) + S.charAt(0);

				if (T.contains(S)) {
					flag = true;
					break;
				}
			}

			if (flag) {
				System.out.println("yes");
			} else {
				System.out.println("no");
			}
		}
	}
}
๋ณ€์ˆ˜)
T : ํ…์ŠคํŠธ
S : ๋ฌธ์ž์—ด
flag : ํฌํ•จ ์—ฌ๋ถ€

 

ํ…์ŠคํŠธ์™€ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ๋ฌธ์ž์—ด์ด ํ…์ŠคํŠธ์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋ฉด yes๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ๋ฌธ์ž์—ด ์ˆœํ™˜ ์ด๋™์„ ํ†ตํ•ด ํ…์ŠคํŠธ์— ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. ์ตœ์ข… ํฌํ•จ ์—ฌ๋ถ€์— ๋”ฐ๋ผ yes์™€ no๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.



 

'๐ŸŒžAlgorithm > ๐Ÿ”ฅBaekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Baekjoon] 13732_Falling Apples  (2) 2025.06.26
[Baekjoon] 4881_์ž๋ฆฌ์ˆ˜์˜ ์ œ๊ณฑ  (0) 2025.06.25
[Baekjoon] 9843_LVM  (2) 2025.06.20
[Baekjoon] 9512_Languages  (1) 2025.06.18
[Baekjoon] 16692_Greedy Scheduler  (1) 2025.06.17