@Eeap
velog
@Eeap
전체 방문자
오늘
어제
  • 전체 (168)
    • osam (1)
    • Cloud (21)
      • Docker (2)
      • AWS (13)
    • AI & Data (7)
    • Algorithm (76)
      • Baekjoon (75)
      • Codeforces (1)
    • Language (18)
      • Java (18)
    • Back-end (17)
      • Spring (3)
      • JSP & Servlet (12)
      • Go (2)
    • 일상 (4)
    • 기타 (8)
    • git (1)
    • Infra (9)
      • Apache Kafka (5)
      • Kubernetes (4)
      • 기타 (0)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • bedrock agent
  • 심폴릭링크
  • flink
  • CLASS
  • bedrock api
  • 오블완
  • knowledge bases
  • 티스토리챌린지
  • Agent
  • 인터페이스
  • converse api
  • AWS CodeCatalyst
  • bedrock
  • sagemaker unified studio
  • java
  • Python
  • invokemodel api
  • SageMaker
  • AWS CodeStar
  • AWS CodeArtifact

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
@Eeap

velog

Algorithm/Baekjoon

1309번 파이썬

2022. 4. 13. 22:13
반응형

4번째까지 다 그려봤는데 n-1번째 p값에 x3한 값을 n-2번째부터 1번째까지의 값을 빼주면 정답이 나오는 것 같아서 그런식으로 코드를 만들어봤는데 시간 초과 에러만 뜬다,,

import sys
input = sys.stdin.readline
n=int(input())
p = [0 for _ in range(n+1)]

if n >=1:
  p[1]=2
if n >=2:
  p[2]=6
sum=0
for num in range(3,n+1):
  p[num]+=p[num-1]*3
  sum+=p[num-2]
  p[num]-=sum
print((p[n]+1)%9901)

 

그래서 다른 사람 방식 봤더니 다들 완전 쉽게 생각해서 푼것 같다. 굳이 전부 다 안그려봐도 0=>사자를 안놨을때 1-> 왼쪽에 놨을때 2-> 오른쪽에 놨을때의 경우로 생각해서 1과 2인 경우는 서로 겹치지 않게 이전 값을 더하면 쉽게 답이 나온다..!

 

 

import sys
input = sys.stdin.readline
n=int(input())
p = [[0,0,0] for _ in range(n+1)]

p[1][0]=1
p[1][1]=1
p[1][2]=1
for num in range(2,n+1):
  p[num][0]=(p[num-1][0]+p[num-1][1]+p[num-1][2])%9901
  p[num][1]=(p[num-1][0]+p[num-1][2])%9901
  p[num][2]=(p[num-1][0]+p[num-1][1])%9901
print(sum(p[n])%9901)
반응형
저작자표시 (새창열림)

'Algorithm > Baekjoon' 카테고리의 다른 글

Python 1759번 암호 만들기  (0) 2022.07.28
2096번 파이썬  (0) 2022.05.04
1965번 파이썬  (0) 2022.04.13
1520번 파이썬  (0) 2022.04.12
1890번 파이썬  (0) 2022.04.11
    'Algorithm/Baekjoon' 카테고리의 다른 글
    • Python 1759번 암호 만들기
    • 2096번 파이썬
    • 1965번 파이썬
    • 1520번 파이썬
    @Eeap
    @Eeap

    티스토리툴바