Algorithm
-
https://www.acmicpc.net/problem/1205 1205번: 등수 구하기첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보www.acmicpc.net1205, 등수 구하기[ 난이도 : 실버 4 ] 이번 문제도 간단한 구현문제이다. 예시 2, 3번이 자꾸 이상한 결과가 나와서 잘 읽어보니 '점수가 랭킹 리스트에 올라갈 수 없을 정도로 낮다면 -1 을 출력한다'라는 내용이 있다.이 부분을 주의해야 한다.점수의 개수와 랭킹 리스트에 올라갈 갯수가 동일할 때, 가장 낮은 점수가 새로 넣을 점수보다 낮거나 같다면 -1을 출력해주..
(JAVA) [BOJ]백준 1205번, 등수 구하기https://www.acmicpc.net/problem/1205 1205번: 등수 구하기첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보www.acmicpc.net1205, 등수 구하기[ 난이도 : 실버 4 ] 이번 문제도 간단한 구현문제이다. 예시 2, 3번이 자꾸 이상한 결과가 나와서 잘 읽어보니 '점수가 랭킹 리스트에 올라갈 수 없을 정도로 낮다면 -1 을 출력한다'라는 내용이 있다.이 부분을 주의해야 한다.점수의 개수와 랭킹 리스트에 올라갈 갯수가 동일할 때, 가장 낮은 점수가 새로 넣을 점수보다 낮거나 같다면 -1을 출력해주..
2023.05.23 -
https://www.acmicpc.net/problem/25757 25757번: 임스와 함께하는 미니게임 첫 번째 줄에는 사람들이 임스와 같이 플레이하기를 신청한 횟수 $N$과 같이 플레이할 게임의 종류가 주어진다. $(1 \le N \le 100\,000)$ 두 번째 줄부터 $N$개의 줄에는 같이 플레이하고자 하는 사람들 www.acmicpc.net 25757, 임스와 함께하는 미니게임 [ 난이도 : 실버 5] 이번 문제는 간단한 구현 문제이다. # Process input : 함께 게임을 할 사람의 수 N 과 게임의 종류인 game = Y 를 받아주고 중복을 제거하기 위해 HashSet 을 사용해 주었다. static int N, playerNum; static String game; static ..
(JAVA) [BOJ]백준 25757번, 임스와 함께하는 미니게임https://www.acmicpc.net/problem/25757 25757번: 임스와 함께하는 미니게임 첫 번째 줄에는 사람들이 임스와 같이 플레이하기를 신청한 횟수 $N$과 같이 플레이할 게임의 종류가 주어진다. $(1 \le N \le 100\,000)$ 두 번째 줄부터 $N$개의 줄에는 같이 플레이하고자 하는 사람들 www.acmicpc.net 25757, 임스와 함께하는 미니게임 [ 난이도 : 실버 5] 이번 문제는 간단한 구현 문제이다. # Process input : 함께 게임을 할 사람의 수 N 과 게임의 종류인 game = Y 를 받아주고 중복을 제거하기 위해 HashSet 을 사용해 주었다. static int N, playerNum; static String game; static ..
2023.05.23 -
https://www.acmicpc.net/problem/1325
(JAVA) [BOJ]백준 1325번, 효율적인 해킹https://www.acmicpc.net/problem/1325
2023.05.17 -
https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net 2644, 촌수계산 [ 난이도 : 실버 2 ] 이번 문제도 BFS를 이용해서 푸는 문제이다. 직전에 풀었던 스타트 링크와 굉장히 유사한 풀이기에 참조하면 좋을 것 같다 ! https://seung-seok.tistory.com/60 (JAVA) [BOJ]백준 5014번, 스타트링크 https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄..
(JAVA) [BOJ]백준 2644번, 촌수계산https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net 2644, 촌수계산 [ 난이도 : 실버 2 ] 이번 문제도 BFS를 이용해서 푸는 문제이다. 직전에 풀었던 스타트 링크와 굉장히 유사한 풀이기에 참조하면 좋을 것 같다 ! https://seung-seok.tistory.com/60 (JAVA) [BOJ]백준 5014번, 스타트링크 https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄..
2023.05.09 -
https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net 5014, 스타트링크 [ 난이도 : 실버 1 ] 이번 문제는 BFS(너비 우선 탐색)을 사용해서 풀어보겠다. 문제를 이해하는데 시간이 더 오래 걸린 문제이다 : )그치만 이해하면 쉽게 풀 수 있다 ! # Process input : 길게 쓰여진 문제를 풀이해보면 이렇다. 스타트링크는 총 F층 스타트링크가 있는 곳의 위치는 G층 강호가 지금 있는 곳은 S층 즉, 배열의 크기는 F 로 설정하고 시작 좌표는 S, ..
(JAVA) [BOJ]백준 5014번, 스타트링크https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net 5014, 스타트링크 [ 난이도 : 실버 1 ] 이번 문제는 BFS(너비 우선 탐색)을 사용해서 풀어보겠다. 문제를 이해하는데 시간이 더 오래 걸린 문제이다 : )그치만 이해하면 쉽게 풀 수 있다 ! # Process input : 길게 쓰여진 문제를 풀이해보면 이렇다. 스타트링크는 총 F층 스타트링크가 있는 곳의 위치는 G층 강호가 지금 있는 곳은 S층 즉, 배열의 크기는 F 로 설정하고 시작 좌표는 S, ..
2023.05.09 -
https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 2573, 빙산 [ 난이도 : 골드 4 ] 이번 문제는 BFS & DFS, 그래프 이론을 사용해서 풀어보겠다. # Process input : 입력받은 값들을 기반으로 area 배열에 값을 넣어주는 것으로 시작한다. static void input() { N = scan.nextInt(); M = scan.nextInt(); area = new int[N][M]; for(int i=0;i
(JAVA) [BOJ]백준 2573번, 빙산https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 2573, 빙산 [ 난이도 : 골드 4 ] 이번 문제는 BFS & DFS, 그래프 이론을 사용해서 풀어보겠다. # Process input : 입력받은 값들을 기반으로 area 배열에 값을 넣어주는 것으로 시작한다. static void input() { N = scan.nextInt(); M = scan.nextInt(); area = new int[N][M]; for(int i=0;i
2023.05.09 -
https://www.acmicpc.net/problem/18404 18404번: 현명한 나이트 첫째 줄에 N과 M이 공백을 기준으로 구분되어 자연수로 주어진다. (1 ≤ N ≤ 500, 1 ≤ M ≤ 1,000) 둘째 줄에 나이트의 위치 (X, Y)를 의미하는 X와 Y가 공백을 기준으로 구분되어 자연수로 주어진다. ( www.acmicpc.net 18404, 현명한 나이트 [ 난이도 : 실버 1 ] 이번 문제는 BFS 를 사용해서 풀어보겠다. BOJ [7562] 나이트의 이동과 굉장히 유사한 문제이기 때문에 참조하면 좋을 것 같다. https://seung-seok.tistory.com/57 (JAVA) [BOJ]백준 7562번, 나이트의 이동 https://www.acmicpc.net/problem/..
(JAVA) [BOJ]백준 18404번, 현명한 나이트https://www.acmicpc.net/problem/18404 18404번: 현명한 나이트 첫째 줄에 N과 M이 공백을 기준으로 구분되어 자연수로 주어진다. (1 ≤ N ≤ 500, 1 ≤ M ≤ 1,000) 둘째 줄에 나이트의 위치 (X, Y)를 의미하는 X와 Y가 공백을 기준으로 구분되어 자연수로 주어진다. ( www.acmicpc.net 18404, 현명한 나이트 [ 난이도 : 실버 1 ] 이번 문제는 BFS 를 사용해서 풀어보겠다. BOJ [7562] 나이트의 이동과 굉장히 유사한 문제이기 때문에 참조하면 좋을 것 같다. https://seung-seok.tistory.com/57 (JAVA) [BOJ]백준 7562번, 나이트의 이동 https://www.acmicpc.net/problem/..
2023.05.06 -
https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 7562, 나이트의 이동 [ 난이도 : 실버 1 ] 이번 문제는 체스말의 이동횟수를 측정해야 하므로 BFS (너비 우선 탐색)를 사용해서 풀어보겠다. # Process input : 테스트 케이스 횟수 T를 입력받고, 체스판의 크기를 입력 받는다. 체스판의 크기를 기반으로 dist를 생성해주고 시작좌표화 목적좌표를 입력받는다. 여기서 dist[i][j] 는 (i,j) 까지 최소 이동횟수를 입력할 것..
(JAVA) [BOJ]백준 7562번, 나이트의 이동https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 7562, 나이트의 이동 [ 난이도 : 실버 1 ] 이번 문제는 체스말의 이동횟수를 측정해야 하므로 BFS (너비 우선 탐색)를 사용해서 풀어보겠다. # Process input : 테스트 케이스 횟수 T를 입력받고, 체스판의 크기를 입력 받는다. 체스판의 크기를 기반으로 dist를 생성해주고 시작좌표화 목적좌표를 입력받는다. 여기서 dist[i][j] 는 (i,j) 까지 최소 이동횟수를 입력할 것..
2023.05.06