분류 전체보기 261

[백준 2578] 빙고 - JAVA

https://www.acmicpc.net/problem/2578 빙고 구현 문제최초 3빙고가 되는 시점을 출력한다.복잡도가 매우 널널해서 아무렇게나 구현해도 된다. 1. O(1)로 찾기 위해, 빙고판 대신 숫자별 r,c를 기록한다.2. 매번 탐색하지 않기 위해, 세로,가로,양 대각선을 카운트한다. (빙고판 및 사회자가 부르는 숫자는 유일하므로 가능)3. 부른 숫자의 r,c에 해당하는 카운트를 올리고, 5가 됐다면 빙고처리한다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;class Main { public static void ..

[백준 2002] 추월 - JAVA

https://www.acmicpc.net/problem/2002 재미있는 문제다. N=1000이기에 N^2 내에서 다양한 방법으로 구할 수 있다.나는 l1, l2 맨 앞의 원소를 비교해서, 불일치 시 O(N)으로 직접 빼주는 방법을 썼다.불일치는, 현재 차(l2에 있는)는 추월했음을 의미하기 때문이다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;class Main { public static void main(String[] args) throws IOException { int ans = 0..

[백준 2210] 숫자판 점프 - JAVA

https://www.acmicpc.net/problem/2210 그래프탐색 + 브루트포스 문제 배열이 5*5로 아주 작아서 아무 최적화도 하지 않았다.방문 여부 또한, 중복인 칸 방문을 허용하므로 고려하지 않아도 된다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashSet;import java.util.Set;import java.util.StringTokenizer;class Main { static Set set = new HashSet(); static int[][] m; public static void main(String[] args) t..

[백준 2784] 가로 세로 퍼즐 - JAVA

https://www.acmicpc.net/problem/2784 풀이 3*3 배열 선언가로 : 순열(재귀)로 row = 0,1,2인 곳을 길이 3 단어로 3번 채워넣음세로 : 이후 col = 0,1,2로 새로운 단어를 만들어서, 기존 입력에 존재하고 가로를 채우는데 사용되지 않았으면 cnt++; cnt == 3이면 가로,세로 어느곳을 읽어도 기존 입력에 존재하는 단어이며, 6개의 단어가 전부 사용되었음을 의미 정렬을 할 필요 없는 이유 :입력이 사전 순으로 정렬되어있고, 순열 또한 순서대로 구성최초 정답 발견 시 이미 사전 순으로 가장 앞선 상태 import static java.lang.System.exit;import java.io.BufferedReader;import java.io.IOExc..

[백준 2371] 파일 구별하기 - JAVA

https://www.acmicpc.net/problem/2371 조건이 애매해서 글 올림https://www.acmicpc.net/board/view/159125 풀이 k = 1부터,각 파일을 k길이로 자른 subString을 set에 넣는다.set.size() != N이라면 k++하고 다시 진행한다. set.size() == N이라는 것은, 순서까지 고려 했을 때 다른 파일이 N개인 경우를 의미한다.즉, 모든 파일이 구분되는 경우인 정답에 해당한다. 오답 요인1. 파일을 수열과 같이 다루라고 써있어서 순서가 상관 없는줄 착각2. 파일 별 최대 길이를 안줌(..) 그래서 set.equals()로 비교했는데 시간초과가 발생했었다.import java.io.BufferedReader;import java..

[lv2/pccp 기출 3번] 충돌위험 찾기 - JAVA

https://school.programmers.co.kr/learn/courses/30/lessons/340211 이게 왜 2레벨인지 진짜 모름 어려웠던 요인1. 거쳐가야 할 포인트 수가 가변적이다.2. 로봇의 도착 시점은 제각각이다. (도착 표시 따로하고, 도착한건 이동 로직 미포함 해야 함)3. 도착과 맵 밖으로 나감이 따로 존재하고, 시작과 최초 도착시에도 충돌 체크를 해야 한다. 풀이 1. 로봇이 거쳐가야 할 포인트를 실제 좌표로 바꿔놓는다. = move[] 2. while 루프를 돌며, 2-1. 충돌 체크충돌 체크는 로봇의 시작지점(0초인 경우)에서도 이뤄져야 하기 때문에, 이동 동작보다 먼저 한다. 2차원 배열로 하면, 매 순간 100*100 크기를 선언해야 해서map에 key = r + "..

[백준 3186] 소변기 - JAVA

https://www.acmicpc.net/problem/3186구현 문제 조건이 부실해서 글 올림https://www.acmicpc.net/board/view/159053 +sb.isEmpty() 메서드 때문에 컴파일에러가 났다.백준 컴파일러는 java 11이었고, 해당 문법은 15부터 추가됐었다. 때문에 sb.length() == 0 으로 바꿈 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;class Main { public static void main(String[] args) throws IOException { Bu..

[백준] 1926 그림 - JAVA

https://www.acmicpc.net/problem/1926 그래프탐색 문제 bfs 씀 영역 갯수와 가장 큰 영역 출력import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayDeque;import java.util.Queue;import java.util.StringTokenizer;class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); S..