Skip to content

[미라] 250303 #65

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Mar 4, 2025
Merged

[미라] 250303 #65

merged 1 commit into from
Mar 4, 2025

Conversation

ssum1ra
Copy link
Member

@ssum1ra ssum1ra commented Mar 3, 2025

🍳 Algorithm approach and solution

타일 배치

image

  • 1번 타일 : 위쪽 마름모 (a + c)
  • 2번 타일 : 왼쪽 마름모 (b + c)
  • 3번 타일 : 오른쪽 마름모 (c + d)
  • 4번 타일 : 정삼각형 타일

핵심 포인트

image

  • k-1번째의 3번 타일과 k번째의 1, 2, 4번 타일은 함께 놓일 수 없다.

풀이 과정

  • dp 활용
    • array_3 : k번째에 3번 타일을 배치한 경우의 수
    • array_124 : k번째에 1,2,4번 타일을 배치한 경우의 수

tops[k]가 1인 경우

k번째에 3번 타일을 배치한 경우

image

  • array_3[k] = array_3[k-1] + array_124[k-1]

k번째에 1,2,4번 타일을 배치한 경우

image

  • array_124[k] = array_3[k-1] * 2 + array_124[k-1] * 3
  • array_3[k-1] * 2 (왼쪽 그림) : k-1번째에 3번 타일을 배치한 경우, k번째에 1, 4번 타일 배치 가능
  • array_124[k-1] * 3 (오른쪽 그림) : k-1번째에 1,2,4번 타일을 배치한 경우, k번째에 1,2,4번 타일 배치 가능

tops[k]가 0인 경우

k번째에 3번 타일을 배치한 경우

image

  • array_3[k] = array_3[k-1] + array_124[k-1]

k번째에 2,4번 타일을 배치한 경우

image

  • array_124[k] = array_3[k-1] * 1 + array_124[k-1] * 2
  • array_3[k-1] * 1 (왼쪽 그림) : k-1번째에 3번 타일을 배치한 경우, k번째에 4번 타일 배치 가능
  • array_124[k-1] * 2 (오른쪽 그림) : k-1번째에 1,2,4번 타일을 배치한 경우, k번째에 2,4번 타일 배치 가능

참고

  • 매 반복마다 나머지 계산을 하지 않는다면 시간초과

@ssum1ra ssum1ra self-assigned this Mar 3, 2025
@ssum1ra ssum1ra merged commit 8c40cc4 into main Mar 4, 2025
@ssum1ra ssum1ra deleted the 미라/250303 branch March 4, 2025 06:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant