고양이와 별무리 도서관

고양이와 별무리 도서관 Post List

(백준/C++) 1904_01타일

1904번: 01타일 문제는 동적 계획법으로 풀 수 있는 문제입니다. 동적 계획법(Dynamic Programming, DP)이란, 큰 문제를 작은 문제들로 나누어 풀어나가고 작은 문제의 해를 저장해 다시 계산하지 않고 사용하는 방식입니다. 동적 계획법 문제는 최적 부분 구조와 중복된 부분 문제의 두 가지 속성을 가진 문제에 유용합니다. 01타일...

(백준/C++) 2580_스도쿠

백준 2580번: 스도쿠 (acmicpc.net) 문제는 백트래킹으로 해결할 수 있는 문제입니다. 문제를 차근차근 풀어나가고 정리해보면 어렵지 않은 문제지만, 접근법에 따라 잔실수가 많을 수 있는 문제입니다. 저 같은 경우는 기저사례로 해 찾기를 끝내려고 시도했다가 값이 초기화 되어 돌아가는 문제가 생기거나 Loop 종료 조건에서 고민을 하고, 이...

지역 변수, 전역 변수, 정적 변수, 동적 변수

C언어에서는 데이터를 변수라는 식별자에 저장해서 언제든지 해당 메모리를 다시 접근해 데이터를 사용할 수 있게끔 되어 있습니다. 여기에서 몇 가지 알아야 할 부분은, 코드에서 각각 접근할 수 있는 영역입니다. 지역 변수 (자동 변수) 스택(Stack) 영역에 할당되는, 블록 안으로 사용 범위가 제한되는 변수입니다. 지역 변수는 블록(지역) 내에서...

고정 소수점과 부동 소수점, 오차 발생 이유

컴퓨터가 정수를 표현하는 방법은 2진수로 표현하기 때문에, 처음에 낯설더라도 배우고나면 어떻게 컴퓨터가 수를 표현하는지 이해할 수 있습니다. 하지만, 컴퓨터의 실수. 즉, 소수를 표현하는 방법은 이해하기 어려운 부분이 존재합니다. 컴퓨터는 실수를 두 가지 방법으로 표현 가능합니다. 고정 소수점과 부동 소수점이 그 방법입니다. 고정 소수점은 단순...

(백준/C++) 15649_N과 M(1)

백준 15649번: N과 M은 백트래킹을 시작하기 좋은 연습문제라고 생각됩니다. 이번 문제에서는 값을 순회하고 각 수에 대한 방문 여부를 체크하는 것으로 배열과 재귀 함수를 통해 구현해봤습니다. 이때, 각 수에 대한 방문 여부를 판단하는 것이 백트래킹의 역할입니다. 즉, DFS로 모든 경우의 수를 찾아가면서, 백트래킹을 통해 이미 선택된 숫자...

(백준/C++) 11729번_하노이 탑

하노이의 탑 문제는 재귀 문제의 대표주자격 문제입니다. 11729번: 하노이 탑 이동 순서 (acmicpc.net) 문제는 3개의 기둥과 그 위에 있는 서로 다른 크기의 원반이 주어지고, 첫 번째 기둥에서 세 번째 기둥으로 모든 원반을 이동시키는 것이 목표입니다. 이때, 두 가지 규칙이 존재하는데, 한 번에 한 개의 원판만을 다른 탑으로 옮...