본문 바로가기

알고리즘/SWEA

7853

 

abcd를 입력한다 했을 때 나올 수 있는 유형은

2 * 3 * 3 * 2 = 36이다.

해당 위치에 문자 양 옆을 보고 그 위치에 올 수 있는 문자의 개수가 정해지는 것이다.

 

a 의 경우는 옆에 b 만 있으므로 a 또는 b 가 올 수 있어서 총 2가지가 있고,

b 의 경우는 옆에 a와 c가 있으므로 a, b 또는 c가 올 수 있어서 총 3가지가 있다.

 

이런 식으로 곱사건을 구하는 것이다.

 

처음과 끝은 스페셜 케이스로 처리하였다. 문자 두개만 비교하면 되기 때문이다.

3개의 문자를 비교해야 하는 경우는 주석을 참고하면 된다.

 

반복문안에서 ret 을 1 000 000 007 을 나눈 나머지로 다시 초기화 하는 것을 생각하지 못해서

여러번 fail이 떴었다. 

사실 처음에는 전체 결과에서 10억 7을 나눈 나머지만 반환 하면 되는 줄 알았는데,

결과 자체가 10억 7안에 있어야 되는 모양인 것 같다.

 

'알고리즘 > SWEA' 카테고리의 다른 글

7964  (0) 2021.10.31
7965  (0) 2021.10.31
7584  (0) 2021.10.31
7732  (0) 2021.10.31
7854. 최약수  (0) 2021.10.31