백준/ Silver 3 문제 , 백준 파이썬 2407 , 조합
Check Point ! ( 해당사항 ✓체크 )
1. 막힘 없이 수월하게 풀린 문제인가?
2. 1시간이내로 풀렸던 문제인가?
3. 1시간 이상 or 며칠을 두고 풀어봤더니 풀린 문제인가?
4. 시간을 써도 도무지 풀 수 없는 문제인가?
5. 솔루션을 찾아봤는가?
-------------------------------------------------------------------------------------------
난이도 체감
1. 최상
2. 상
3. 중
4. 하
<이해도>
1. 완벽히 이해
2. 다소 헷갈리는 부분들이 있음
3. 이해 못함
<덧붙일 말>
class 4 문제라 뭔가 함정이 숨겨져있을거 같다고 생각했는데 그냥 바로 정답처리 되었다
<문제 출처>
https://www.acmicpc.net/problem/2407
------------------------------------------------------------------------------------------------------------------------------
if m==0 or m==n:
print(1)
elif m==1 or m==(n-1):
print(n)
이 코드는 조합을 빠르게 처리할 수 있는 코드다.
우리는 nCn, nC0 이 1이라는 것을 이미 알고 있고
nC1, nCn-1 이 n 의 값을 가진다는 것도 이미 고등학교에서 배웠다.
이렇게 빠르게 처리할 수 있는 값들은 빠르게 처리하고
그다음 else 문으로 와 또 연산을 줄여줄 수 있는 방법이
100 C 90 같은 조합은 그대로 값을 구하는 것보다 100 C 10 으로 변경해준 뒤에 값을 구해주는 것이 더 빠르고 편리하게 구할 수 있다.
그러기 위해
if n//2 < m:
m=n-m
left=n
right=m
이 코드를 통해 값을 줄일 수 있는지 확인하는 과정이 필요하다.
------------------------------------------------------------------------------------------------------------------------------
정답
반응형
'알고리즘 공부 > 백준 - 파이썬' 카테고리의 다른 글
백준/ Silver 5 문제 , 백준 파이썬 1475 , 방 번호 (0) | 2022.02.06 |
---|---|
백준/ Silver 5 문제 , 백준 파이썬 1010 , 다리 놓기 (0) | 2022.02.05 |
백준/ Silver 5 문제 , 백준 파이썬 7568 , 덩치 (0) | 2022.02.05 |
백준/ Gold 2 문제 , 백준 파이썬 12015 , 가장 긴 증가하는 부분 수열 2 , 최장 증가 부분 수열(LIS) 알고리즘 (0) | 2022.02.04 |
백준/ Bronze 3 문제 , 백준 파이썬 2490 , 윷놀이 (0) | 2022.02.04 |