패턴 찾기
Coddy Ruby 여정의 기초 섹션에 포함된 레슨 — 88개 중 87번째.
챌린지
쉬움입력으로부터 문자열을 읽고, 전체 문자열을 형성하는 가장 작은 반복 패턴을 찾으세요.
유효한 패턴은 다음 조건을 만족해야 합니다:
- 패턴의 길이가 문자열 전체 길이를 나누어떨어지게 해야 함
- 적절한 횟수만큼 반복했을 때, 원래 문자열과 정확히 일치해야 함
문자열이 반복되는 패턴으로 구성되어 있다면, 그 가장 작은 패턴을 출력하세요. 반복되는 패턴이 존재하지 않는다면, 원래 문자열을 출력하세요.
패턴이 유효한지 확인하려면 문자열 곱셈을 사용할 수 있습니다: pattern * count는 패턴을 반복하여 새로운 문자열을 생성합니다.
예를 들어, 입력이 abcabcabc인 경우 출력은 다음과 같아야 합니다:
abc입력이 xyxyxyxy인 경우 출력은 다음과 같아야 합니다:
xy입력이 aaaa인 경우 출력은 다음과 같아야 합니다:
a입력이 hello인 경우 출력은 다음과 같아야 합니다:
hello입력이 abcdef인 경우 출력은 다음과 같아야 합니다:
abcdef직접 해보기
# 입력 문자열을 읽습니다
s = gets.chomp
# TODO: 아래에 코드를 작성하세요
# 전체 문자열을 형성하는 가장 작은 반복 패턴을 찾으세요
# 힌트: 문자열 길이를 나누어떨어지게 하는 패턴 길이를 확인하세요
# 패턴이 작동하는지 확인하려면 문자열 곱셈(pattern * count)을 사용하세요
result = s # 이 부분을 당신의 솔루션으로 교체하세요
# 결과를 출력합니다
puts result