[JAVA] 백준 24513 좀비 바이러스
2022. 3. 11. 01:30
알고리즘/백준 BOJ
24513번: 좀비 바이러스 여기 $N$ x $M$ 격자 모양의 마을이 있다. 어느 날 세상에 좀비 바이러스가 창궐하여 바이러스가 빠르게 퍼져나가버린다. 바이러스에 대해 조사한 결과 세 종류의 바이러스가 존재했으며 각각 $1$ www.acmicpc.net 풀이 방법 bfs가 한턴씩 지날 때마다 몇번째 방문인지 저장하기 위해 copy 배열을 만들었다. 처음은 첫번째 방문으로 가정해 1을 넣어주었다. 이렇게 턴을 돌 때마다 copy에 현재 몇번째 턴인지 저장해두었다. 만약 map[nx][ny]를 방문했을 때 copy[nx][ny]에 저장된 값과 현재 턴수가 같고, map[nx][ny]와 map[x][y]이 다르면 침범이 일어났다는 뜻이므로 map[nx][ny] 값을 3으로 바꿔주었다. 자바 코드 import..
[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] 백준 17413 단어 뒤집기 2
2021. 8. 30. 02:20
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 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.Stack; public class BO..
[JAVA] 백준 2567 색종이-2
2021. 8. 30. 02:18
알고리즘/백준 BOJ
https://www.acmicpc.net/problem/2567 2567번: 색종이 - 2 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net 풀이 과정 수정중.. 주의할 점 배열 범위 주의 JAVA 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class BOJ_2567_색종이2 { static StringTokenizer st; sta..