citizen   7년 전

abcd와

dabc는 시계방향(문제에서는 왼쪽에서 오른쪽을 말하는 듯 한데요)으로

읽으면 원형으로 이어지므로 같은 문자열이고

dcba는 비록 abcd를 뒤집은 것이지만 반시계방향으로

읽어야지만 같은 문자열이므로

첫번째 경우는 답이 1

두번째 경우는 답이 2인건가요?

daeseok   7년 전

문제를 보면, "사이클 단어는 어떤 단어를 원형 모양으로 차례대로 쓴 것이다. 따라서, 어떤 단어를 이렇게 쓴 후에 임의의 단어를 고른다. 그 후에 시계방향으로 차례대로 읽으면 그 것이 단어가 된다." 예제에서 picture / turepic 에서 turepic 의 p 를 선택해서 이후를 시계방향으로 읽으면 picture 가 되어 같은 단어가(사이클 단어) 되는 경우인 듯 합니다.

즉 말씀해주신, abcd 와 dcba 를 입력으로 받으면 답이 "2" 가 되어야 지요.

Input
2
abcd
dcba

Output
2

citizen   7년 전

답변해주셔서 감사합니다.

역시 시계방향이 맞군요

그 전에는 주어진 문자열마다 두배로 복사해서 붙여준 뒤 turepicturepic 에서 turepicturepic 과 같이 

자신을 제외한 다른 문자열이 복사된 문자열에 포함되는지 아닌지로 문제를 해결하려고 했는데 오답이 뜨더군요..

그냥 단어 하나부터 시작해서 일일이 원형으로 하는게 정석인 것 같네요.

daeseok   7년 전

아닙니다. 원래 고려하신 접근 방법대로 그 문자열+문자열 해서 찾는 방법으로 진행하셔도 됩니다.

오답이 뜨는 것은 아무래도 단순한 케이스를 고려하지 못하셔서 그런 듯 합니다. 

예를 들면

input 으로 

2
a
aa
라고 주어지면 사실 2를 내야 하는데 말씀하신 내용으로는 1일 나올 것입니다. 이것만 고려하시면 문제풀수 있을 듯 하네요.

댓글을 작성하려면 로그인해야 합니다.