분류 전체보기(174)
-
백준 11726 2xn 타일링
백준 11726 2xn 타일링 오늘은 2xn 타일링 문제다. 사실 저번에 한적 있어서 기억이 나서 쉽게 풀었다. 점화식을 이용하면 되는데, n 길이 타일을 채울 때는 n-1, n-2 일 때 채웠던 경우의 수를 합해주면 된다. import java.util.Scanner; public class Boj_11726 { public static void main(String[] args) { int n; int table[] = new int[1002]; Scanner scanner = new Scanner(System.in); n = Integer.parseInt(scanner.nextLine()); table[1] = 1; table[2] = 2; table[3] = 3; for (int i = 4; i
2022.12.14 -
백준 2579 계단 오르기
백준 2579 오늘은 백준 계단 오르기 문제를 풀었다. 어제부터 본격적으로 DP 파트를 풀기 시작했는데 참 재밌다. 문제는 쉬운거 같은데도 30분이나 걸렸다. 처음에 1차원 배열로만 해결을 하려다가 생각을 다시 해 2차원으로 도전했고, 성공했다. 핵심은 한 계단 마다 이전 칸을 밟은 경우와 밟지 않은 경우에 대한 값을 모두 저장하고 있는 것이다. 코드는 다음과 같다! import static java.lang.Math.max; import java.util.Scanner; public class Boj_2579 { public static void main(String[] args) { int stair[] = new int[303]; int table[][] = new int[303][2]; Scann..
2022.12.12 -
백준 6593 상범 빌딩
백준 6593 상범 빌딩 이번에 푼 문제는 '상범 빌딩' 으로, 간단히 출구를 찾고, 얼마나 이동했는지 출력하는 BFS 문제였다. 간단한 3차원 공간에서의 bfs 여서 쉽게 해결했다고 생각했는데, 계속 틀렸다고 나와서 고쳐내는데 시간이 많이 걸렸다. 발생한 문제는 이거였는데, 하나하나 입력해주는 경우에는 문제가 발생하지 않았는데, 한 번에 복사해서 넣었을 때는 이렇게 에러가 발생했다. 원인은 NoSuchElementException 이었는데, 정상적으로 굴러갔다면 StringTokenizer가 정상적으로 수행됐어야할 입력이 빈 문자열로 들어가 생기는게 원인이었다. 이런 에러가 생긴 건 다음과 같은 이유였는데, 이유를 아직 잘 모르겠다. 이 scanner 의 위치가 while 안에 있으면 에..
2022.12.10 -
백준 2468 - 안전 영역
import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; import java.util.Scanner; import java.util.StringTokenizer; public class Main { public static void main(String[] args) { int n; int table[][] = new int[102][102]; //int visited[][] = new int[102][102]; List dir_x = List.of(0, 1, 0, -1); List dir_y = List.of(1, 0, -1, 0); Scanner scanner = new ..
2022.12.08 -
백준 2667 단지번호붙이기
오늘은 단지번호붙이기 문제를 풀었다. 여전히 BFS 문제를 풀고있는데, 다 아무 문제없이 이제 해결하는거 같은데 크기가 하나인, 즉 처음한번 큐에 들어가고 바로 큐가 비고 끝나는 사이즈 하나 짜리일 때는 사이즈가 계속 틀리게 나오는데, 그 이유가 궁금해서 한번 알아보려고 한다. 예외로 처리하는것 말곤 답이없나? import java.util.*; public class Main { public static void main(String[] args) { Queue q = new LinkedList(); Scanner scanner = new Scanner(System.in); int n; int table[][] = new int[26][26]; int visited[][] = new int[26][26..
2022.12.07 -
백준 2583 영역 구하기
정말 여러번 틀렸는데, 아쉬운점은 정렬을 확인 해볼 생각을 하지 않았다는 거였다. 정렬을 이상한 컬렉션을 이용해서 지금까지 정렬이 제대로 되고 있지 않던 거였는데, 다행히 해결했다. import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Queue; import java.util.Scanner; import java.util.StringTokenizer; public class Main { public static void main(Strin..
2022.12.05