#INFO 난이도 : SILVER1 문제유형 : BFS 출처 : 2468번: 안전 영역 (acmicpc.net) 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net #SOLVE 특정한 높이에서 물에 잠기지 않은 영역의 최대 개수를 구하는 문제이다. 예를들어 높이가 3 이하인 모든 지점이 물에 잠겼다고 가정하면 아래 그림과 같이 4가지 구역으로 나뉘어 진다. 높이가 0부터 보드 내에서 가장 큰 높이인 9까지 모든 경우의 수를 탐색해 가장 나뉘어지는 구역이 많은 케이스를 선택하는 브루트포스 방식으로 문제를 풀이했다. #de..
#1 기본형 데이터의 메모리 영역 변화 #2 참조형 데이터의 메모리 영역 변화 #3 중첩 객체의 메모리 영역 변화 * 다음 포스팅은 개인적인 공부 용도로 코어 자바스크립트 [Core Javascript] 도서를 읽고 정리 및 요약한 글 이며, 잘못된 내용을 포함하고 있을 수 있습니다. #1 기본형 데이터의 메모리 영역 변화 var a; 프로그래머가 위와 같이 변수를 선언할 시 자바스크립트 엔진은 다음과 같은 동작을 수행한다. 변수를 선언하면 비어있는 메모리 공간을 찾아 확보하며, 이 공간의 이름(식별자)를 a라고 지정한다. var a = 'javascript'; 다음으로 선언한 변수 a에 'javascript'라는 문자열을 할당하면 예상과 달리 변수영역에 값을 직접 대입하지 않는다. 데이터를 저장하기 위..
#INFO 난이도 : GOLD5 문제유형 : BFS 출처 : 7569번: 토마토 (acmicpc.net) 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net #SOLVE BOJ7576: 토마토 문제와 거의 같은 문제이다. 다른 점 이라면 단지 Z축 좌표가 하나 추가 되었다는 것 뿐이다. int board[103][103][103] : 토마토의 정보를 저장해 줄 3차원 배열이다.bool isVisited[103][103][103] : 방문 여부를 저장해 줄 3차원 배열이다.int dist[1..
#INFO 난이도 : SILVER1 문제 유형 : BFS 출처 : https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net #SOLVE 문제의 조건에 의하면 M X N 크기의 모눈종이에 K개의 직사각형의 좌측 하단 좌표와 우측 상단 좌표가 주어진다. 이때 K개의 직사각형이 만들어지는 곳을 이동 불가능한 공간 (1) 로 초기화 시키고 나머지 빈 부분 (0) 에 대해서 BFS 알고리즘을 적용시키는 방식으로 풀이했다. int board[1..
#INFO 난이도 : SILVER1 문제 유형 : BFS 출처 : https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net #SOLVE 연결된 영역(단지)의 개수와 각 영역(단지)의 넓이를 오름차 순으로 출력하면 되는 간단한 BFS 문제이다. string board[27] : 단지의 정보를 저장할 배열 0 : 집이 없는곳 1 : 집이 있는 곳 bool isVisited[27] : 단지의 방문 여부를 저장할 배열 int dx[4] , int dy[4] : ..