분류 전체보기
-
백준 15591번 MooTube(자바) - bfs코딩테스트 2022. 11. 23. 17:00
문제 농부 존은 남는 시간에 MooTube라 불리는 동영상 공유 서비스를 만들었다. MooTube에서 농부 존의 소들은 재밌는 동영상들을 서로 공유할 수 있다. 소들은 MooTube에 1부터 N까지 번호가 붙여진 N (1 ≤ N ≤ 5,000)개의 동영상을 이미 올려 놓았다. 하지만, 존은 아직 어떻게 하면 소들이 그들이 좋아할 만한 새 동영상을 찾을 수 있을지 괜찮은 방법을 떠올리지 못했다. 농부 존은 모든 MooTube 동영상에 대해 “연관 동영상” 리스트를 만들기로 했다. 이렇게 하면 소들은 지금 보고 있는 동영상과 연관성이 높은 동영상을 추천 받을 수 있을 것이다. 존은 두 동영상이 서로 얼마나 가까운 지를 측정하는 단위인 “USADO”를 만들었다. 존은 N-1개의 동영상 쌍을 골라서 직접 두 쌍..
-
백준 22233번 가희와 키워드(자바)코딩테스트 2022. 11. 11. 17:25
가희와 키워드 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1.5 초 512 MB 1680 594 431 34.618% 문제 가희는 블로그를 운영하고 있습니다. 가희는 블로그에 글을 쓰기 위해, 메모장에 키워드를 적곤 합니다. 지금까지 메모장에 써진 키워드는 모두 서로 다르며, 총 N개가 존재합니다. 가희는 새로운 글을 작성할 때, 최대 10개의 키워드에 대해서 글을 작성합니다. 이 키워드들 중에 메모장에 있었던 키워드는 가희가 글을 쓴 이후, 메모장에서 지워지게 됩니다. 가희는 블로그에 글을 쓰고 나서, 메모장에 있는 키워드 개수가 몇 개인지 알고 싶습니다. 가희를 도와주세요. 입력 첫 번째 줄에 가희가 메모장에 적은 키워드 개수 N, 가희가 블로그에 쓴 글의 개수 M이 공백으로 구분해서 주어집..
-
투포인터(백준 2003번), 슬라이딩 윈도우(자바)알고리즘 2022. 11. 11. 16:15
투포인터 : 부분 배열의 길이가 가변적일 때 배열의 합이 m인 부분 배열을 구한다고 하면 1. L ~ R 까지 부분배열의 합이 M보다 크면 L + 1 2. L ~ R 까지 부분배열의 합이 M보다 작으면 R + 1 3. L ~ R 까지 부분배열의 합이 M이면 L + 1, result 값 += 1 2003번: 수들의 합 2 (acmicpc.net) 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net import java.util.Scanner; public class Main..
-
백준 11404번 플로이드(자바) - 플로이드 워셜코딩테스트 2022. 11. 7. 15:54
플로이드 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 46343 19142 13543 41.806% 문제 n(2 ≤ n ≤ 100)개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 m(1 ≤ m ≤ 100,000)개의 버스가 있다. 각 버스는 한 번 사용할 때 필요한 비용이 있다. 모든 도시의 쌍 (A, B)에 대해서 도시 A에서 B로 가는데 필요한 비용의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 주어진다. 버스의 정보는 버스의 시작 도시 a, 도착 도시 b, 한 ..
-
백준 1504번 특정한 최단 경로(자바) - 다익스트라 알고리즘코딩테스트 2022. 11. 7. 14:15
특정한 최단 경로 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 57705 14568 9834 24.562% 문제 방향성이 없는 그래프가 주어진다. 세준이는 1번 정점에서 N번 정점으로 최단 거리로 이동하려고 한다. 또한 세준이는 두 가지 조건을 만족하면서 이동하는 특정한 최단 경로를 구하고 싶은데, 그것은 바로 임의로 주어진 두 정점은 반드시 통과해야 한다는 것이다. 세준이는 한번 이동했던 정점은 물론, 한번 이동했던 간선도 다시 이동할 수 있다. 하지만 반드시 최단 경로로 이동해야 한다는 사실에 주의하라. 1번 정점에서 N번 정점으로 이동할 때, 주어진 두 정점을 반드시 거치면서 최단 경로로 이동하는 프로그램을 작성하시오. 입력 첫째 줄에 정점의 개수 N과 간선의 개수 E가 ..
-
문자열 KMP 알고리즘알고리즘 2022. 10. 18. 16:27
1. 단순 문자열 비교 알고리즘 parent a e a b a c pattern a b a c e와 b가 다르므로 pattern을 한 칸 이동시켜 다시 확인합니다. parent a e a b a c pattern a b a c e와 a가 다르므로 pattern을 다시 한칸 이동시킵니다. parent a e a b a c pattern a b a c 이런 식으로 한칸씩 이동시키며 문자열을 확인하면 O(N*M)의 시간 복잡도를 갖게 되어 비효율적입니다. 2. KMP 알고리즘 위의 알고리즘은 최악의 경우 오랜 시간이 걸릴 수 있으므로 모든 경우를 다 비교하지 않아도 부분 문자열을 찾을 수 있는 알고리즘인 KMP 알고리즘을 사용해야 합니다. KMP 알고리즘은 접두사와 접미사를 활용하여 문자열을 점프하여 효율적으..
-
백준 17142번 연구소3(자바) - dfs,bfs,삼성 sw 역량기출코딩테스트 2022. 10. 3. 20:00
연구소 3 시간 제한메모리 제한제출정답맞힌 사람정답 비율 0.25 초 (하단 참고) 512 MB 34097 10004 5783 25.887% 문제 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 바이러스는 활성 상태와 비활성 상태가 있다. 가장 처음에 모든 바이러스는 비활성 상태이고, 활성 상태인 바이러스는 상하좌우로 인접한 모든 빈 칸으로 동시에 복제되며, 1초가 걸린다. 승원이는 연구소의 바이러스 M개를 활성 상태로 변경하려고 한다. 연구소는 크기가 N×N인 정사각형으로 나타낼 수 있으며, 정사각형은 1×1 크기의 정사각형으로 나누어져 있다. 연구소는 빈 칸, 벽, 바이러스로 이루어져 있으며, 벽은 칸 하나를 가득 차지한다. 활성 바이러스가 비활성 바이러스..
-
백준 17144번 미세먼지 안녕!(자바) - 시뮬레이션, 삼성 sw 역량 기출코딩테스트 2022. 9. 26. 16:58
미세먼지 안녕! 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 512 MB 25711 14028 9420 53.804% 문제 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사과는 뛰어난 코딩 실력을 이용해 각 칸 (r, c)에 있는 미세먼지의 양을 실시간으로 모니터링하는 시스템을 개발했다. (r, c)는 r행 c열을 의미한다. 공기청정기는 항상 1번 열에 설치되어 있고, 크기는 두 행을 차지한다. 공기청정기가 설치되어 있지 않은 칸에는 미세먼지가 있고, (r, c)에 있는 미세먼지의 양은 Ar,c이다. 1초 동안 아래 적힌 일이 순서대로 일어난다. 미세먼지가 확..