전체 글
-
백준 2164번 카드2(자바) - 큐, 재귀코딩테스트 2023. 1. 19. 17:53
카드2 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 (추가 시간 없음) 128 MB 69658 35809 29210 51.434% 문제 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다. 예를 들어 N=4인 경우를 생각해 보자. 카드는 제일 위에서부터 1234 의 순서로 놓여있다. 1을 버리면 234가 남는다. 여기서 2를 제일 아래로 옮기면 342가 된다. 3을 버리면 42가 되고, 4를 밑으로 ..
-
백준 20437번 문자열 게임2(자바) - 투포인터#코딩테스트 2023. 1. 19. 16:38
문자열 게임 2 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 1024 MB 2497 1088 801 42.629% 문제 작년에 이어 새로운 문자열 게임이 있다. 게임의 진행 방식은 아래와 같다. 알파벳 소문자로 이루어진 문자열 W가 주어진다. 양의 정수 K가 주어진다. 어떤 문자를 정확히 K개를 포함하는 가장 짧은 연속 문자열의 길이를 구한다. 어떤 문자를 정확히 K개를 포함하고, 문자열의 첫 번째와 마지막 글자가 해당 문자로 같은 가장 긴 연속 문자열의 길이를 구한다. 위와 같은 방식으로 게임을 T회 진행한다. 입력 문자열 게임의 수 T가 주어진다. (1 ≤ T ≤ 100) 다음 줄부터 2개의 줄 동안 문자열 W와 정수 K가 주어진다. (1 ≤ K ≤ |W| ≤ 10,000) 출력 T개의 줄 ..
-
백준 21921번 블로그(자바) - 슬라이딩 윈도우코딩테스트 2023. 1. 18. 16:43
블로그 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 512 MB 3822 1536 1245 39.536% 문제 찬솔이는 블로그를 시작한 지 벌써 �$N$일이 지났다. 요즘 바빠서 관리를 못 했다가 방문 기록을 봤더니 벌써 누적 방문 수가 6만을 넘었다. 찬솔이는 �$X$일 동안 가장 많이 들어온 방문자 수와 그 기간들을 알고 싶다. 찬솔이를 대신해서 �$X$일 동안 가장 많이 들어온 방문자 수와 기간이 몇 개 있는지 구해주자. 입력 첫째 줄에 블로그를 시작하고 지난 일수 �$N$와 �$X$가 공백으로 구분되어 주어진다. 둘째 줄에는 블로그 시작 1$1$일차부터 �$N$일차까지 하루 방문자 수가 공백으로 구분되어 주어진다. 출력 첫째 줄에 �$X$일 동안 가장 많이 들어온 방문자 수를 출력한다. ..
-
백준 1522번 문자열 교환(자바) - 슬라이딩 윈도우#코딩테스트 2023. 1. 16. 17:13
문자열 교환 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 784 381 332 54.248% 문제 a와 b로만 이루어진 문자열이 주어질 때, a를 모두 연속으로 만들기 위해서 필요한 교환의 회수를 최소로 하는 프로그램을 작성하시오. 이 문자열은 원형이기 때문에, 처음과 끝은 서로 인접해 있는 것이다. 예를 들어, aabbaaabaaba이 주어졌을 때, 2번의 교환이면 a를 모두 연속으로 만들 수 있다. 입력 첫째 줄에 문자열이 주어진다. 문자열의 길이는 최대 1,000이다. 출력 첫째 줄에 필요한 교환의 회수의 최솟값을 출력한다. 예제 입력 1 복사 abababababababa 예제 출력 1 복사 3 예제 입력 2 복사 ba 예제 출력 2 복사 0 아이디어를 떠올리기 힘들었던 문제...
-
백준 2206번 벽 부수고 이동하기(자바) - bfs##코딩테스트 2023. 1. 16. 16:00
벽 부수고 이동하기 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 192 MB 103585 25962 16176 22.712% 문제 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로로 이동하려 한다. 최단경로는 맵에서 가장 적은 개수의 칸을 지나는 경로를 말하는데, 이때 시작하는 칸과 끝나는 칸도 포함해서 센다. 만약에 이동하는 도중에 한 개의 벽을 부수고 이동하는 것이 좀 더 경로가 짧아진다면, 벽을 한 개 까지 부수고 이동하여도 된다. 한 칸에서 이동할 수 있는 칸은 상하좌우로 인접한 칸이다. 맵이 주어졌을 때, 최단 경로를 구해 내는..
-
백준 1987번 알파벳(자바) - dfs코딩테스트 2023. 1. 11. 17:16
알파벳 한국어 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 256 MB 85066 27335 16699 29.089% 문제 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다. 좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있는지를 구하는 프로그램을 작성하시오. 말이 지나는 칸은 좌측 상단의 칸도 포함된다. 입력 첫째 줄에 R과 C가 빈칸을 사이에 두고 주어진다. ..
-
백준 15684번 사다리 조작(자바) - dfs, 삼성 sw 역량 기출##코딩테스트 2023. 1. 11. 15:35
사다리 조작 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 512 MB 54786 14811 7015 21.788% 문제 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선이 같은 위치를 갖는다. 아래 그림은 N = 5, H = 6 인 경우의 그림이고, 가로선은 없다. 초록선은 세로선을 나타내고, 초록선과 점선이 교차하는 점은 가로선을 놓을 수 있는 점이다. 가로선은 인접한 두 세로선을 연결해야 한다. 단, 두 가로선이 연속하거나 서로 접하면 안 된다. 또, 가로선은 점선 위에 있어야 한다. 위의 그림에는 가로선이 총 5개 있다. 가로선은 위의 그림과 같이 인..
-
Array와 LinkedList의 차이자료구조 2023. 1. 5. 15:18
배열(Array) : 데이터들이 메모리 공간에서 연속적으로 저장되어 있는 자료구조 -> 인덱스를 통해 접근이 용이 배열의 크기는 생성 시에 결정하며 변경이 불가하다. 장점 메모리 상에 연속적으로 저장되어 있어 index만 알면 Random Access 가능 (* Random Access : 자료의 주소를 알고 있다면 모든 자료에 대해 동일한 시간에 접근이 가능한 방식) 단점 삽입, 삭제 시 삽입이나 삭제를 하려는 위치 이후의 데이터 값을 모두 한칸씩 이동시켜야 하므로 비효율적 배열의 크기를 변경할 수 없음 시간복잡도 탐색 : O(1) (index를 아는 경우) 삽입/삭제 : O(n) LinkedList : 노드들이 순차적으로 연결된 형태를 띄고 있으며 첫 노드는 head, 마지막 노드는 tail이라 한다..