본문 바로가기

백준276

[Baekjoon] 21736 - 헌내기는 친구가 필요해 📝 문제 🔑 풀이 과정 · 그냥 흔한 2차원 배열 BFS 문제. · 배열이 char형이라는 것과, 시작점의 위치도 내가 정해줘야 한다는 것이 다른문제와의 차이점이다. · 풀이 생략 🔓 답안 import java.io.*; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { static int[] dx = {-1, 0, 1, 0}; static int[] dy = {0, 1, 0, -1}; static int N; static int M; static char[][] campus; static boolean[][] visited; static int count = 0;.. 2023. 8. 23.
[Baekjoon] 1629 - 곱셈 📝 문제 🔑 풀이 과정 · 이 문제는 분할정복을 이용한 거듭제곱 계산법과, 모듈러 연산의 분배법칙 두가지를 활용한 문제이다. 각 계산법에 대한 작성글을 글자에 링크해두었다. 두 가지를 조합해서 문제에 맞는 식을 세우고 코드로 구현하면 된다. 풀이는 생략. · 처음에는 half 라는 변수를 사용하지 않고 return (sol(B/2) * sol(B/2)) % C 이런식으로 작성했었다. 그러나 저럴경우 똑같은 값이지만 계속 탐색해서 값을 구해오기 때문에 시간이 오래걸린다. 만약 중복되는 부분이 있다면 최대한 하나의 변수로 만들자. · 근데 나는 이 문제로 시간을 엄청 소비했는데, 일단 첫 정답제출 코드를 보면 static long sol(long B){ if(B == 1) return A % C; else{.. 2023. 8. 23.
[Baekjoon] 2455 - 지능형 기차 📝 문제 🔑 풀이 과정 · 간단한 사칙연산 문제. 각 역에 도착할때마다 사람의 수에서 내리는 사람을 빼주고 타는 사람을 더해주기만 하면 된다. · 조건 4번의 기차 정원은 최대 10,000이라는 것만 유의하면 될...것 같은데, 이 부분 고려 안해도 답안 통과가 잘된다.... 🔓 답안 import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new Buffered.. 2023. 8. 21.
[Baekjoon] 9625 - BABBA 📝 문제 🔑 풀이 과정 · 문제에 규칙이 다 나와있다. B는 BA로 바뀌고, A는 B로 바뀐다. (알파벳 하나하나를 바꿔주는 것임) ① B가 BA로 바뀌므로, A갯수 = 그 전 B갯수, B 갯수 = 그 전 B갯수이다. ② A가 B로 바뀌므로, B갯수 = 그 전 A갯수이다. 즉, A갯수 = 그 전 B갯수, B 갯수 = 그 전 B갯수 + 그 전 A갯수라는 식이 나온다. · 처음에 실수했던 부분이 첫 화면이 A이고, 그 다음 버튼을 한 번 눌렀을때가 B인데, 한 번 누른것을 A라고 착각했었다. · 그리고 풀고 다른분들 풀이 검색해보니, 다들 그냥 DP 규칙을 찾으셨던데 (i번째일때 i-2 + i-1 인것), 문제에 이미 계산 공식이 나와있으니 굳이 스스로 규칙을 안찾아도 되지 않나...? 라는 생각이 들었다... 2023. 8. 20.
[Baekjoon] 1780 - 종이의 개수 📝 문제 🔑 풀이 과정 · 이 문제도 앞서 풀었던 색종이 만들기, 쿼드트리 문제와 똑같다고 볼 수 있다. 다만 앞 두문제는 4등분이었다면, 이 문제는 9등분이라는 차이점이 있다는 정도. 풀이는 생략 · 처음에 풀고 스택오버플로우가 났었는데... solve 메서드에서 같은 수로 채워졌다면 종이 수를 카운팅 증가시키고 메서드를 종료했어야 했는데, return;을 작성안해서 계속 9등분한게 돌고 있던 거였다. 🔓 답안 import java.io.*; import java.util.StringTokenizer; public class Main { static int paperMinusOne = 0; static int paperZero = 0; static int paperPlusOne = 0; static i.. 2023. 8. 19.
[Baekjoon] 1992 - 쿼드트리 📝 문제 🔑 풀이 과정 · 처음에는 예제가 왜 저렇게 나오는지 이해가 안갔다. 그림을 그려보니 이해가 갔다. 예제 1의 압축 결과를 보면 다음과 같다. 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래 순으로 결과를 적으면 출력 결과가 나오게 되는 것이다. · 이 문제는 어제 풀었던 색종이 만들기 문제와 똑같은 문제다. 풀이는 저 문제를 참고. · 다만 나같은 경우 괄호를 어디서 붙여야 하는건지가 헷갈렸는데, 압축이 불가능해서 4개의 영역으로 쪼개질때 괄호를 쓴다고 생각하면 된다. 🔓 답안 import java.io.*; public class Main { static StringBuilder sb = new StringBuilder(); static char[][] board; public static .. 2023. 8. 18.