Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 정보보호병 후기
- jsp
- Forensic 절차
- 동읍면 DB
- 소프트웨어 개발보안 경진대회
- ㅁㅇㅂ??ㅇㅈㄷ ㅎㅇㅌ...
- 3단계 지역 DB
- restapi
- EER
- spring
- 방명록 만들기
- 네이버 인턴
- JSTL
- frontend
- 인턴 지원
- PyAmdecoder
- Layered Architecture
- SessionAttribute
- riceteacatpanda
- mysql
- reversing.kr
- DBMS
- webhacking 처음
- 소개딩
- 인턴 후기
- 행정지역 DB
- Django
- 메모리 포랜식
- Database
- react
Archives
- Today
- Total
웹찢남
[백준 2193 이친수 문제] PYTHON 본문
신기한 문제였다.
아무리 머리를 굴려도 좋은 방법이 생각이 안나 모든 경우를 list에 append해서
append한 리스트가 input값이 됐을 때 global로 RESULT를 만들어서 +1을 하게했다.
하지만 역시나 시간초과가 됐다.
RESULT=0
def sol(result_list,i,t):
tmp_list1=result_list[:]
if(i==t):
global RESULT
RESULT+=1
return
if(tmp_list1[i-1]==1):
tmp_list1.append(0)
return sol(tmp_list1,i+1,t)
else:
tmp_list=tmp_list1[:]
tmp_list.append(1)
tmp_list1.append(0)
return sol(tmp_list1,i+1,t),sol(tmp_list,i+1,t)
if __name__ == "__main__":
t=int(input())
result_list=[1]
sol(result_list,1,t)
print(RESULT)
답은 맞춘거 같아 그냥 5 넣어보고 10 넣어보고 했는데
넣어 볼수록 피보나치 수열과 같은 값이 나왔다.
설마하고 피보나치 문제 code를 넣어보니 clear....
나중에 사람들의 풀이를 보니 1일때 2일때 3일때 연속되는 규칙이 있었다.
아래를 보면 2의 10, 3의 맨 앞자리를 뗀 00,01이 4번째 10 후로 동일하게 나온다.
이 규칙은 5번째도 마찬가지다. 이걸 어떻게 발견했는지..
앞으로 패턴에 대해 생각하고 문제를 푸는 습관을 길러야겠다.
1
1
2
10
3
100
101
4
1010
1000
1001
5
10100
10101
10010
10000
10001
'백준 Algorithm' 카테고리의 다른 글
[백준 10844 쉬운 계단 수 문제] PYTHON (0) | 2021.04.15 |
---|---|
[백준1912 연속합 문제] PYTHON (0) | 2021.04.15 |
[백준 2748 피보나치 수 2 문제] PYTHON (0) | 2021.04.15 |
[백준 11053 가장 긴 증가하는 부분 수열 문제] PYTHON (0) | 2021.04.15 |
[백준 2156 포도주 시식 문제] PYTHON (0) | 2021.04.15 |
Comments