본문 바로가기

G59

BOJ G5 16928 뱀과 사다리 게임 JAVA 16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x < y)가 주어진다. x번 칸에 도착하면, y번 칸으 www.acmicpc.net 문제 읽기 이 문제는 1차원 배열과 bfs, visited를 활용해서 쉽게 해결했다. 주사위 횟수의 최솟값이므로 dfs와 bfs 중에서 bfs를 선택했다. 문제 풀기 크게 어렵지 않다. 일차원 배열을 사용해서 각 번호를 가진 칸마다 뱀 또는 주사위가 있는 칸이면 값으로 이동할 칸의 번호를 넣어주었다. 이를 활용해서 1부터 시작해서 100에 도달할 때까지 계속 큐에 넣고 하면 답이 나온다. 코드로 보는 게 더 쉬울 것이.. 2024. 3. 30.
BOJ G5 5430 AC JAVA 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 문제 읽기 문제를 딱 읽고 나니 든 생각은 숫자가 크다!는 거였다. 그거 말고는 크게 어렵지 않아 보였다. 시간초과를 어느정도 해결하면서 구현하는 문제로 생각했다. 문제 풀기 말했듯이 시간 초과를 해결하며 구현했다. 시간 초과를 생각하지 않고 정말 단순하게 구현하면 다음과 같다. 테스트 개수 T만큼 반복문을 돌린다. 수행할 함수 묶음을 입력 받는다. 초기 배열의 크기 N을 입력 받는다. 초기 배열 arr를 입력 받는다. 함수 묶음을 for문 돌리며 실행한다. 함수가 R이면 배열을 뒤집는다. 함수가 D이면 첫 번째 수를.. 2024. 3. 23.
BOJ G5 1916 최소비용구하기 JAVA 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 문제 읽기 어제 공부했던 다익스트라 문제이다. 연습 삼에 몇 문제 정도 더 풀어보려고 한다. 다익스트라 개념과 동작 과정을 이해하고 싶으면 다음 포스팅을 참고하면 좋다! 다익스트라, Dijkstra Algorithm 코딩 문제에서 많이 볼 수 있는 그래프와 관련된 알고리즘을 공부해보자. 그래프에서 최단 거리를 구하는 알고리즘은 다음과 같은 것들이 있다. 💡 그래프의 최단 거리 구하는 알고리즘 1. 다익 rue-mi.tistory.. 2024. 1. 20.
BOJ G5 1717 집합의 표현 JAVA 1717번: 집합의 표현 초기에 $n+1$개의 집합 $\{0\}, \{1\}, \{2\}, \dots , \{n\}$이 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 집합을 표현하는 프로그램을 작 www.acmicpc.net 문제 읽기 이전이었으면 이게 뭐지.. 하면서 끙끙댔을 테지만, 어제 유니온 파인드를 공부했기 때문인지, 읽자마자 이건 그냥 유니온 파인드라는 생각이 들었다. 유니온 파인드에 대해 개념을 알고 싶으면 우선 이 포스팅을 먼저 보고 오길 추천한다. 분리 집합, Disjoint Set : Union-Find 분리 집합, Disjoint Set 💡 분리 집합, Disjoint Set = 서로소 집합 분리 집합이란 이미 존재하는 집합 .. 2024. 1. 13.