Menu
Coddy logo textTech

패턴 찾기

Coddy Ruby 여정의 기초 섹션에 포함된 레슨 — 88개 중 87번째.

challenge icon

챌린지

쉬움

입력으로부터 문자열을 읽고, 전체 문자열을 형성하는 가장 작은 반복 패턴을 찾으세요.

유효한 패턴은 다음 조건을 만족해야 합니다:

  • 패턴의 길이가 문자열 전체 길이를 나누어떨어지게 해야 함
  • 적절한 횟수만큼 반복했을 때, 원래 문자열과 정확히 일치해야 함

문자열이 반복되는 패턴으로 구성되어 있다면, 그 가장 작은 패턴을 출력하세요. 반복되는 패턴이 존재하지 않는다면, 원래 문자열을 출력하세요.

패턴이 유효한지 확인하려면 문자열 곱셈을 사용할 수 있습니다: pattern * count는 패턴을 반복하여 새로운 문자열을 생성합니다.

예를 들어, 입력이 abcabcabc인 경우 출력은 다음과 같아야 합니다:

abc

입력이 xyxyxyxy인 경우 출력은 다음과 같아야 합니다:

xy

입력이 aaaa인 경우 출력은 다음과 같아야 합니다:

a

입력이 hello인 경우 출력은 다음과 같아야 합니다:

hello

입력이 abcdef인 경우 출력은 다음과 같아야 합니다:

abcdef

직접 해보기

# 입력 문자열을 읽습니다
s = gets.chomp

# TODO: 아래에 코드를 작성하세요
# 전체 문자열을 형성하는 가장 작은 반복 패턴을 찾으세요
# 힌트: 문자열 길이를 나누어떨어지게 하는 패턴 길이를 확인하세요
# 패턴이 작동하는지 확인하려면 문자열 곱셈(pattern * count)을 사용하세요

result = s  # 이 부분을 당신의 솔루션으로 교체하세요

# 결과를 출력합니다
puts result

기초의 모든 레슨