목록Algorithm/백준 BOJ (44)
다희의 코딩 성장일기
[ 문제 ] [백준] 1927. 최소 힙 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net # 접근 방법 및 풀이 우선순위 큐 이용한 기본문제다. 근데 Scanner로 입력받으니까 시간초과나서 BufferedReader로 입력받았다. 아래 최대 힙과 짝궁인 문제! https://ilmiodiario.tistory.com/125 [백준] 11279. 최대 힙 (자바 JAVA) [ 문제 ] [백준]..
[ 문제 ] [백준] 11279. 최대 힙(자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net # 접근 방법 및 풀이 우선순위 큐를 이용하는 문제다. 우선순위 큐는 기본 최소힙 형태이므로 Collections.reverseOrder()로 생성해 poll할때 최대값이 나오게한다. 나머지는 문제 그대로 구현 코드참조 # 주의할 점 없음 JAVA 코드 package Silver; import java.u..
[ 문제 ] [백준] 16985. Maaaaaaaaaze (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/16985 16985번: Maaaaaaaaaze 첫째 줄부터 25줄에 걸쳐 판이 주어진다. 각 판은 5줄에 걸쳐 주어지며 각 줄에는 5개의 숫자가 빈칸을 사이에 두고 주어진다. 0은 참가자가 들어갈 수 없는 칸, 1은 참가자가 들어갈 수 있는 칸을 www.acmicpc.net # 접근 방법 및 풀이 주의할 점도 많고 생각보다 까다로웠던 문제. 문제가 불친절하다고 생각한다. 먼저, 문제를 제대로 이해하지 못해서 고민을 많이 했는데 이동할 수 있는 경우가 애매하게 표현된 것 같다. 보통 2차원 맵 기준, "인접한 칸" 이라고 한다면 현재위치에서 동서남북, 상하좌우..
[ 문제 ] [백준] 5247. 불 (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/5427 5427번: 불 상근이는 빈 공간과 벽으로 이루어진 건물에 갇혀있다. 건물의 일부에는 불이 났고, 상근이는 출구를 향해 뛰고 있다. 매 초마다, 불은 동서남북 방향으로 인접한 빈 공간으로 퍼져나간다. 벽에 www.acmicpc.net # 접근 방법 및 풀이 구현 시뮬 문제다. 근데 정답률이 22퍼길래 잔뜩 쫄아서 풀었는데 다행히 한번만에 맞췄다. bfs로 풀었고, 정답률 낮은 이유가 visit배열 때문일 것 같다. visit배열을 3차원 배열로 해서 불일 경우와 상근이일 경우로 나누어서 방문체크를 해주어야한다. -> visit[n][m][2] 벽 뚫고 이동하기 시리즈를 풀..
[ 문제 ] [백준] 5567. 결혼식 (자바 JAVA) 문제 링크 :https://www.acmicpc.net/problem/5567 5567번: 결혼식 예제 1의 경우 2와 3은 상근이의 친구이다. 또, 3과 4는 친구이기 때문에, 4는 상근이의 친구의 친구이다. 5와 6은 친구도 아니고, 친구의 친구도 아니다. 따라서 2, 3, 4 3명의 친구를 결혼식에 초대 www.acmicpc.net # 접근 방법 및 풀이 와 정말 문제 제대로 안 읽고 아무생각없이 풀면 틀리기 너무너무 좋은 문제다. 충격.. 인접리스트와 dfs로 구현했다. bfs로도 할 수 있지만 dfs를 선택했다. 여기서 상근이 친구와 그친구의 친구까지만 초대할 수 있기 때문에 depth 체크를 해야한다. 그리고 인접리스트로 구현시 양방향 ..
[ 문제 ] [백준] 15662. 톱니바퀴 (2) (자바 JAVA) 문제 링크 : https://www.acmicpc.net/problem/15662 15662번: 톱니바퀴 (2) 총 8개의 톱니를 가지고 있는 톱니바퀴 T개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net # 접근 방법 및 풀이 톱니바퀴를 topni[][] 2차원 배열에 입력받는다. 톱니바퀴끼리 서로 맞물린 곳의 극이 서로 달라 회전이 가능한지 체크하는 함수 check() 회전시키는 함수 rotation() 톱니바퀴 하나를 해당 방향(시계 or 반시계)으로 돌리는 함수 turn() 으로 3가지 함수를 구분해..