테트리스 블록 목록을 입력 출력으로 제공하거나 조각이 연결할 수있는 동일한 높이 레벨에서 두 지점 사이의 가장 큰 간격을 반환하는 프로그램 또는 함수를 작성해야합니다.
테트리스 7 가지 유형은 다음과 같습니다.
우리는이 조각들을 모양을 참조하여 문자 I, J, L, O, S, T 및 Z로 각각 참조 할 것입니다. 테트리스 게임처럼 조각을 회전시킬 수는 있지만 미러링 할 수는 없습니다.
우리의 임무는 주어진 조각에서 직교로 연결된 영역 (면이 연결된면)을 만드는 것입니다. 이 영역은 같은 높이에있는 두 개의 단위 사각형을 (직교 적으로) 연결해야합니다. 우리는 우리가 교량 할 수있는 두 정사각형 사이에 가능한 가장 큰 간격을 찾아야합니다.
자세한 예
조각 L로 우리는 3의 간격을 연결할 수 있습니다
L
XLLLX
조각 S로 우리는 2의 간격을 연결할 수 있습니다
SS
XSSX
조각 S, S, O로 우리는 7의 간격을 연결할 수 있습니다 (8의 간격을 연결할 수는 없습니다)
S
XSSOO SSX
SOOSS
입력
- 대문자 I, J, L, O, S, T 및 Z 만 포함하는 사용 가능한 조각을 나타내는 문자열입니다. 모든 문자는 완전한 테트리스 조각을 나타냅니다.
- 문자는 문자열에서 알파벳 순서로 정렬됩니다.
- 문자열은 하나 이상의 문자 길이입니다.
산출
- 주어진 양과 연결할 수있는 가장 큰 간격 인 단일 양의 정수입니다.
예
입력 => 출력
OSS => 7
LS => 5
LZ => 6
ZZZZ => 10
LLSSS => 14
IIJSSSTTZ => 28
IISSSSSS => 24
OOOSSSSSSSSSSSSTT => 45
IJLOSTZ => 21
IJLOSTZZZZZZZ => 37
IIJLLLOSTT => 31
IJJJOOSSSTTZ => 35
이것은 코드 골프이므로 가장 짧은 항목이 이깁니다.
아 알겠다. 나는 그들을 그대로보고있었습니다.
—
Tim