Shin

[백준 30413] 양 한 마리... 양 A마리... 양 A제곱마리... - python

원본 문제 링크 : 양 한 마리… 양 A마리… 양 A제곱마리… 문제 춘배는 오늘도 열심히 활동을 마친 후 자려 하지만 도저히 잠이 안 온다. 춘배는 잠을 자기 위해 자신만의 방법으로 양을 세려는데 한 마리씩 세지 않고 여러 마리를 한꺼번에 세면서 자려 한다. 춘배는 일단 양의 정수 $A$를 정한다. 그 후 양을 셀 때 첫 번째에 센 양의...

[백준 2630] 색종이 만들기 - python

원본 문제 링크 : 색종이 만들기 문제 여러개의 정사각형칸들로 이루어진 정사각형 모양의 종이가 주어져 있고, 각 정사각형들은 하얀색으로 칠해져 있거나 파란색으로 칠해져 있다. 주어진 종이를 일정한 규칙에 따라 잘라서 다양한 크기를 가진 정사각형 모양의 하얀색 또는 파란색 색종이를 만들려고 한다. 전체 종이의 크기가 N×N(N=2k, k는...

[백준 12865] 평범한 배낭 - python

원본 문제 링크 : 평범한 배낭 문제 이 문제는 아주 평범한 배낭에 관한 문제이다. 한 달 후면 국가의 부름을 받게 되는 준서는 여행을 가려고 한다. 세상과의 단절을 슬퍼하며 최대한 즐기기 위한 여행이기 때문에, 가지고 다닐 배낭 또한 최대한 가치 있게 싸려고 한다. 준서가 여행에 필요하다고 생각하는 N개의 물건이 있다. 각 물건은...

그리디 알고리즘(Greedy Algorithm)

일명 탐욕,욕심쟁이 알고리즘 “매 선택에서 현재 당장 최적인 답을 선택하여 적합한 결과를 도출하는” 근시안적 문제 해결 방식이다. 매 순간마다 하는 선택은 지역적(그 순간에서)으로는 최적이지만, 그 선택들을 계속 수집하여 최종적(전역적)인 해답을 만들었을 때, 그것이 최적이라는 보장은 없다. 즉 그리디 알고리즘을 통해 최적 값을 구하기 위...

동적 계획법(DP, Dynamic Programming)

Richard Bellman이 1950년대에 사용한 단어 기본적인 아이디어 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용 동적 계획법을 가장 잘 설명하는 단어는 ‘기억하며 풀기’ 특정한 알고리즘이 아닌 하나의 문제해결 방법론으로 바라보는 것이 적절하다 왜 DP를 사용? 일반적인 재귀 방...