Algorithm/๋ฌธ์ œํ’€์ด

[๋ฐฑ์ค€] 12871๋ฒˆ - ๋ฌดํ•œ ๋ฌธ์ž์—ด (C++)

2023. 9. 21. 22:47

 

12871๋ฒˆ: ๋ฌดํ•œ ๋ฌธ์ž์—ด

์ฒซ์งธ ์ค„์— s, ๋‘˜์งธ ์ค„์— t๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘ ๋ฌธ์ž์—ด s์™€ t์˜ ๊ธธ์ด๋Š” 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๊ณ , ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. 

www.acmicpc.net

๋ฌธ์ œ

๋ฌธ์ž์—ด s๊ฐ€ ์žˆ์„ ๋•Œ, f(s)๋Š” s๋ฅผ ๋ฌดํ•œ๋ฒˆ ๋ถ™์ธ ๋ฌธ์ž์—ด๋กœ ์ •์˜ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, s = "abc" ์ธ ๊ฒฝ์šฐ์— f(s) = "abcabcabcabc..."๊ฐ€ ๋œ๋‹ค.

๋‹ค๋ฅธ ๋ฌธ์ž์—ด s์™€ t๊ฐ€ ์žˆ์„ ๋•Œ, f(s)์™€ f(t)๊ฐ€ ๊ฐ™์€ ๋ฌธ์ž์—ด์ธ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ, s = "abc", t = "abcabc"์ธ ๊ฒฝ์šฐ์— f(s)์™€ f(t)๋Š” ๊ฐ™์€ ๋ฌธ์ž์—ด์„ ๋งŒ๋“ ๋‹ค.

s์™€ t๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, f(s)์™€ f(t)๊ฐ€ ๊ฐ™์€ ๋ฌธ์ž์—ด์„ ๋งŒ๋“œ๋Š”์ง€ ์•„๋‹Œ์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— s, ๋‘˜์งธ ์ค„์— t๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘ ๋ฌธ์ž์—ด s์™€ t์˜ ๊ธธ์ด๋Š” 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๊ณ , ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. 

 

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— f(s)์™€ f(t)๊ฐ€ ๊ฐ™์œผ๋ฉด 1์„, ๋‹ค๋ฅด๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

ํ’€์ด๊ณผ์ •

๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•˜๋Š” ์‚ฌํ•ญ๋“ค๊ณผ ๋ฐ˜๋ก€๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

s์™€ t๋ฅผ ๋ฌดํ•œํ•˜๊ฒŒ ๋Š˜์–ดํŠธ๋ ค๋‘์—ˆ์„๋•Œ ๋‘๊ฐœ์˜ ๋ฌธ์ž์—ด์ด ๊ฐ™์€ ๊ฒฝ์šฐ 1, ๋‹ค๋ฅธ๊ฒฝ์šฐ 0

1. f(s) = ab, f(t) = abab / output : 1

2. f(s) = aa, f(t) = aaa / output : 1

3. f(s) = abc, f(t) = abca / output : f(s) = 0 -> abcabc... , f(t) = abcaabca...

1๋ฒˆ๊ณผ 2๋ฒˆ์€ ์–ด๋ ต์ง€์•Š๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์—ˆ๋Š”๋ฐ 3๋ฒˆ์— ๊ฒฝ์šฐ 2๋ฒˆ๊ณผ ๋ฐ˜๋ก€ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฒน์ณ ์–ด๋–ป๊ฒŒํ• ๊นŒ ๊ณ ๋ฏผ์„ ํ•˜๋‹ค๊ฐ€ ๊ทธ๋ƒฅ ๋ฌธ์ž์—ด์„

s * 2 ์™€ t * 2๋ฅผ ์„œ๋กœ ๋น„๊ตํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฌธ์ œ์„ ํ•ด๊ฒฐํ•˜์˜€๋‹ค.

 

code

#include <iostream>
#include <string>

void	strCheck(std::string str1, std::string str2)
{
	int len = 0;

	for (int i = 0; i < str1.length(); i++) {
		if (len == str2.length()) len = 0;
		if (str1[i] == str2[len]) len++;
		else {
			std::cout << "0" << "\n";
			return ;
		}
	}
	std::cout << "1" << "\n";
	return ;
}

int		main(void)
{
	std::string s, t;

	std::cin >> s >> t;
	if (s.length() <= t.length()) strCheck(t + t, s + s);
	else strCheck(s + s, t + t);

	return (0);
}

 

ํ›„๊ธฐ

๋ฌธ์ œ์ž์ฒด๋Š” ๊ฐ„๋‹จํ–ˆ์ง€๋งŒ ๋‚˜๋ฆ„ ์žฌ๋ฏธ์žˆ์—ˆ๋‹ค.

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Algorithm > ๋ฌธ์ œํ’€์ด' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฐฑ์ค€] 1916๋ฒˆ - ์ตœ์†Œ๋น„์šฉ ๊ตฌํ•˜๊ธฐ (C++)  (1) 2023.09.24
[๋ฐฑ์ค€] 13023๋ฒˆ - ABCDE (C++)  (0) 2023.09.22
[๋ฐฑ์ค€] 3060๋ฒˆ - ์š•์‹ฌ์Ÿ์ด ๋ผ์ง€ (C++)  (0) 2023.09.18
[๋ฐฑ์ค€] 14425๋ฒˆ - ๋ฌธ์ž์—ด ์ง‘ํ•ฉ (C++)  (0) 2023.09.16
[๋ฐฑ์ค€] 1106๋ฒˆ - ํ˜ธํ…” (C++)  (0) 2023.09.16
  1. ๋ฌธ์ œ
  2. ์ž…๋ ฅ
  3. ์ถœ๋ ฅ
  4. ํ’€์ด๊ณผ์ •
  5. code
  6. ํ›„๊ธฐ
moaoh
moaoh
๋‚˜์˜ ์„ฑ์žฅ ์ผ๊ธฐ.
moaoh
๐Ÿถ ๐Ÿพ
moaoh
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • Github
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
    • Algorithm
      • ๊ฐœ๋…์ •๋ฆฌ
      • ๋ฌธ์ œํ’€์ด
    • 42seoul
      • projects
    • CS
    • programming language
      • C++
      • Javascript
      • Go
      • Python
      • Front-end
      • Java
    • Java Spring
    • git
    • ์ผ์ƒ
      • ์ฑ… ์ฝ๊ธฐ

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ
moaoh
[๋ฐฑ์ค€] 12871๋ฒˆ - ๋ฌดํ•œ ๋ฌธ์ž์—ด (C++)
์ƒ๋‹จ์œผ๋กœ

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

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.