목록Algorithm (153)
다희의 코딩 성장일기
[ 문제 ] [백준] 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 체크를 해야한다. 그리고 인접리스트로 구현시 양방향 ..
[ 문제 ] [프로그래머스] level2. 예상 대진표 (자바 JAVA) 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/12985 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr # 접근 방법 및 풀이 토너먼트 대진표가 떠올랐다. 그래서 while문 이용해서 문제 그대로 짰는데, 다른 사람 풀이 보니까 훨씬 더 짧게 짤 수 있어서 다시 변경했다. 예제에서 라운드에 올라갈 때 마다 참가자의 순서가 바뀌게 된다. 그리고 A와 B는..