[JAVA] 백준 21610 마법사 상어와 비바라기
2021. 9. 23. 12:32
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 풀이 방법 비구름을 이동했을 때, 그 위치가 배열을 벗어나면 어떻게 처리할 것인지가 가장 핵심인 것 같다. 수정중.. 자바 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.LinkedList; ..
[JAVA] 백준 21608 상어 초등학교
2021. 9. 18. 00:48
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 풀이 방법 코드를 보면 알겠지만 그냥 문제 조건 그대로 구현했다 조건 1에서 좋아하는 학생의 번호, 조건 2에서 빈칸의 최대 갯수는 어떻게 구할지 고민하다가 우선순위 큐에 넣어서 처리했다 각 조건에 맞게 4방 탐색을 돌면서, 큐와 우선순위 큐를 이용해 후보가 될 수 있는 자리를 저장하고, 찾았다. +) 코드를 어떻게 효율적으로 작성할 수 있을지 다시 생각해볼 것 자바 코드 import ..
[JAVA] 백준 2636 치즈
2021. 9. 15. 14:59
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/2636 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net 풀이 방법 수정중.. JAVA 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class BOJ_2636_치즈 { static ..
[JAVA] 백준 1753 최단경로
2021. 9. 14. 09:05
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1≤V≤20,000, 1≤E≤300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1≤K≤V)가 주어진다. www.acmicpc.net 풀이 방법 전형적인 Dijkstra 문제 알고리즘만 알고 있다면 통과 가능하다. JAVA 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; pub..