PS/백준

    [백준] 노드 사이 거리 (1240) - Java, bfs

    [백준] 노드 사이 거리 (1240) - Java, bfs

    https://www.acmicpc.net/problem/1240 1240번: 노드사이의 거리 N(2≤N≤1,000)개의 노드로 이루어진 트리가 주어지고 M(M≤1,000)개의 두 노드 쌍을 입력받을 때 두 노드 사이의 거리를 출력하라. www.acmicpc.net [입력] 첫 번째 라인은 노드의 개수와 거리를 알고 싶은 노드의 쌍의 수가 주어진다. 두 번째 라인부터 N-1개의 줄에 노드의 쌍과 거리가 주어진다. 그 다음 라인부터는 거리를 알고 싶은 M개의 노드의 쌍이 주어진다. [문제 해결] 노드를 양방향 연결을 한다. 시작점을 큐에 넣고 방문 처리를 해준다. bfs를 돌리면서 인접 노드들의 거리를 계산해준다. 마지막 노드에 도착하면 종료한다. [Java - bfs] import java.io.Buff..

    [백준 17264] I AM IRONMAN

    [백준 17264] I AM IRONMAN

    [문제 해결] 반드시 이기는 경우, 반드시 지는 경우 2가지를 고려해 플레이어 정보를 해쉬맵에 담아 더해주면 된다. 1. 플레이어 이름 다음 L 이면 해쉬맵에 . W이면 담아준다. 2. 해쉬맵에 있는 value 값들을 전부 더 해준다. 1. 만약 졌을 경우 점수가 떨어질 때 0점 밑으로 안떨어지게 해준다. 2. 해쉬맵에 없는 플레이어 이름이 나온다면 점수를 떨군다. (해킹하지 못한 플레이어이므로 반드시 지는 경우) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.StringTokenizer; public clas..

    백준 촌수 계산(2644)

    백준 촌수 계산(2644)

    촌수 계산(2644) 풀이 bfs를 통해 깊이를 세주면 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; class FastScanner { BufferedReader br; StringTokenizer st; public FastScanner() { br = new BufferedReader(new InputStreamReader(System.in)); } String next() { while (st == null || !st..

    백준 볼링 점수 계산(17215)

    백준 볼링 점수 계산(17215)

    볼링 점수 계산 (17215) 문제 소현이는 친구들과 함께 볼링을 치러 볼링장에 갔다. 그런데 볼링장의 시스템 오류로 인해 점수판에 점수가 집계 되지 않는 문제가 있었다. 밖이 너무 추운 나머지 소현이와 친구들은 그냥 치기로 하였고 1게임이 끝났지만 각자 점수가 얼마나 되는지를 계산하지 못하고 있다. 소현이와 친구들을 위해 볼링 점수를 계산해주는 프로그램을 작성해 보자. 볼링 규칙 1게임은 총 10프레임으로 구성되어 있다. 각 프레임마다 볼링핀 10개를 세워두고 공으로 쓰러뜨리는 것이며 기본적으로 볼링핀 1개당 1점이다. 각 프레임마다 2번의 기회가 주어지며 첫 번째 기회에 10개의 핀을 모두 쓰러뜨리는 것을 스트라이크(S)라고 한다. 두 번째 기회까지 사용하여 10개의 핀을 쓰러뜨리는 것을 스페어(P)..

    백준 숨바꼭질(1697)

    백준 숨바꼭질 풀이 bfs를 돌려서 깊이를 세어서 중복되는 위치의 수와 가장 낮은 위치를 출력해 주기만 하면되는 전형적인 그래프 문제 첫 제출은 2차원 배열을 사용해서 그런지 메모리 초과가 나왔는데 ArrayList로 해결 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { public static int depth[]; public static boolean visited[]; public static ArrayList map = new ArrayList(); public static int max; public sta..