본문 바로가기
반응형

분류 전체보기69

[백준] 치킨배달(15686) 치킨 배달(15686번) 문제 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을 주로 사용한다. 치킨 거리는 집과 가장 가까운 치킨집 사이의 거리이다. 즉, 치킨 거리는 집을 기준으로 정해지며, 각각의 집은 치킨 거리를 가지고 있다. 도시의 치킨 거리는 모든 집의 치킨 거리의 합이다. 임의의 두 칸 (r1, c1)과 (r2, c2) 사이의 거리는 |r1-r2| + |c1-c2|로 구한다. 예.. 2019. 4. 3.
[C++] Stack overflow (Visual Studio에서 Stack Size 변경 해보기) Stack overflow는 스택 포인터가 스택의 경계를 넘어설 때 일어난다. 즉, 메모리 영역의 스택범위가 초과한 경우 발생하는 에러다. 메모리에서 스택 영역은 함수 호출 시, 생성되는 지역 변수 및 매개 변수가 저장되는 공간이다. C++ IDE의 대표적인 visual studio는 스택 사이즈의 디폴트값으로 1MB를 제공해준다. 여기서 한번 실험해 보자. 1MB는 약 1000,000B 이므로, 250,001 크기의 int타입 배열을 main함수에 선언해 보도록 한다. (int타입은 4B 크기를 가진다.) 즉, 배열의 크기는 4B X 250,001개 = 1000,004B를 가진다. 과연 Stack overflow에러가 날까? 결과화면 아무 문제없이 컴파일 되는 것을 볼 수 있다. 이는 1MB는 사실 1.. 2019. 4. 2.
[백준] 아기상어(16236) 아기 상어(16236번) 문제 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크기보다 작은 물고기만 먹을 수 있다. 따라서, 크기가 같은 물고기는 먹을 수 없지만, 그 물고기가 있는 칸은 지나갈 수 있다. 아기 상어가 어디로 이동할지 결정하는 방법은 아래와 같다. 더 이상 먹을 수 있는 물고기가 공간에.. 2019. 4. 2.
[백준] 수 고르기(2230) 수 고르기(2230번) 문제 N(1≤N≤100,000)개의 수로 이루어진 수열 A[1], A[2], …, A[N]이 있다. 이 수열에서 두 수를 골랐을 때(같은 수일 수도 있다), 그 차이가 M 이상이면서 제일 작은 경우를 구하는 프로그램을 작성하시오. 예를 들어 수열이 {1, 2, 3, 4, 5}라고 하자. 만약 M=3일 경우, 1 4, 1 5, 2 5를 골랐을 때 그 차이가 M 이상이 된다. 이 중에서 차이가 가장 작은 경우는 1 4나 2 5를 골랐을 때의 3이 된다. 입력 첫째 줄에 두 정수 N, M(0≤M≤2,000,000,000)이 주어진다. 다음 N개의 줄에는 차례로 A[1], A[2], …, A[N]이 주어진다. 각각의 A[i]는 0 ≤ |A[i]| ≤ 1,000,000,000을 만족한다 풀.. 2019. 4. 2.
반응형