목록Algorithm/백준 BOJ (44)
다희의 코딩 성장일기
[ 문제 ] [백준] 1992. 쿼드트리 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net # 접근 방법 및 풀이 프로그래머스 쿼드압축과 비슷한 문제다. 프로그래머스때는 재귀를 이용하지 않고 풀었는데 이번엔 재귀를 이용했다. https://ilmiodiario.tistory.com/118 먼저, quadTree() 재귀 메소드를 만들었다. 재귀에서 파라미터는 변하는 값이므로 int r, int c, i..
[ 문제 ] [백준] 1991. 트리 순회 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net # 접근 방법 및 풀이 이진트리를 표현하는 방식에 따라 다양한 방법이 있는 문제다. 나는 트리표현을 2차원 배열로 표현하고 전위, 중위, 후위 메소드를 따로 만들어서 풀었다. 물론 메소드를 하나로 전위, 중위, 후위 다 돌릴 수도 있다. 혼자서 천천히 생각해보고 디버깅해보면서 풀었다. 자세한건 코드참조 # 주의할..
[ 문제 ] [백준] 1012. 유기농 배추(자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net # 접근 방법 및 풀이 BFS로 풀었다. 문제대로 이차원 배열 map[][]을 만들어 배추가 심어진 곳을 1로 표시한다. map을 탐색하며 값이 1일 경우 ans++시켜준다. 1을 발견하고, BFS 돌리면 상하좌우 인접한 1로표시된 영역에는 방문체크가 된다. 이렇게 탐색하며 방문하지 않은 새로운 1을 발견할 때마다 ans를 증가시키고 ..
[ 문제 ] [백준] 11899. 괄호 끼워넣기 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/11899 11899번: 괄호 끼워넣기 첫 번째 줄에 S를 올바른 괄호열으로 만들기 위해 앞과 뒤에 붙여야 할 괄호의 최소 개수를 출력합니다. 불가능한 경우는 주어지지 않습니다. www.acmicpc.net # 접근 방법 및 풀이 스택 기초 문제다. 올바른 괄호열이라면 '('일때 stack에 push하고 ')'일때 stack에서 pop해서 주어진 문자열을 다 탐색하고 난 뒤에 스택 사이즈는 0일 것이다. 그러나 문제에선 올바른 괄호열을 만들기 위해 필요한 최소 횟수이므로, 위의 특징을 알고 있다면 쉽게 풀 수 있다. 마찬가지로 '('일때 stack에 push하고, ')..
[ 문제 ] [백준] 17298. 오큰수 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net # 접근 방법 및 풀이 스택을 이용한 문제다. 진짜 자바라서 좀 짜증나는 문제였다. 자바는 왜 입출력에 그렇게 시간이 오래걸리냐? 같은 로직이어도 언어에 따라서 수행시간이 당연히 다르겠지만, 자바는 입력이나 출력을 뭐로 하냐에 따라 문제 통과여부가 갈려서 화난다.. 그리고 문제를 어디서 풀어봤나 싶었더니, https://ilmiodia..
[ 문제 ] [백준] 11286. 절대값 힙 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net # 접근 방법 및 풀이 우선순위 큐 문제다. 우선순위 큐에 원하는 기준을 통해 정렬을 해야하는데, 절대값과 원래 값을 담는 클래스를 만들어 구현했다. 절대값이 가장 작은 값을 뽑는 형태로 최소힙인데, 그값이 여러개 일때는 가장 작은 수를 출력해야한다. 문제 예제처럼 1과 -1이 있다면 둘의 절대값이 ..