728x90
728x90
[백준 9019번 / Java] DSLR - BFS
코딩테스트/백준2023. 7. 5. 12:24[백준 9019번 / Java] DSLR - BFS

문제 링크 https://www.acmicpc.net/problem/9019 9019번: DSLR 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 www.acmicpc.net 풀이 엄청난 삽질을 했던 문제 한번에 풀겠거니 했는데 처음에는 메모리 초과가 발생했는데, 이유는 아마 String 배열 하나로 풀었기 때문인 것 같다. 어떻게 boolean 배열 없이 단순 String 배열로만 풀어보자 하고 고집하다가 계속 오답을 발생시켰다. 추가로, l과 r을 계산하는 조건을 구할 때, 처음에 String으로 받아서 charAt로 풀었기 때문에 메모리가 ..

[백준 7576번 / Java] 토마토 - BFS
코딩테스트/백준2023. 7. 5. 06:00[백준 7576번 / Java] 토마토 - BFS

문제 링크 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 풀이 BFS를 이용한 단순한 풀이였지만, 정답을 맞춘 뒤 맘에 들지않는 부분을 수정하였다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java..

[백준 1107번 / Java] 리모컨 - Brute Force(DFS)
코딩테스트/백준2023. 7. 4. 00:50[백준 1107번 / Java] 리모컨 - Brute Force(DFS)

문제 링크 https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 풀이 1. 500,000까지의 채널이 존재했고, 가장 큰 경우가 999,999의 경우를 고려하여 반복문의 최대 길이를 설정 2. answer는 단순 +,-로 해당 채널로 이동하는 경우, 버튼을 눌리는 횟수 3. length는 해당 버튼의 길이. 즉 해당 채널로 이동하기 위한 버튼을 눌리는 횟수 4. 모든 경우의 수에서 최소값을 구함 import java.io.Buffer..

[백준 11724번 / Java] 연결 요소의 개수
코딩테스트/백준2023. 7. 2. 01:57[백준 11724번 / Java] 연결 요소의 개수

문제 링크 https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어 www.acmicpc.net 풀이 DFS로 접근했고 딱히 설명할 부분은 없는 것 같다. 굳이 하자면, 연결 요소를 구하는 문제이기 때문에 chk변수를 둬서, 방문하지 않은 곳에 첫 방문 시를 새로운 연결 요소가 있는 경우로 두고 풀었음. import java.io.BufferedReader; import java.io.IOException; impor..

[백준 2606번 / Java] 바이러스
코딩테스트/백준2023. 7. 1. 10:13[백준 2606번 / Java] 바이러스

문제 링크 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하인 양의 정수이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍 www.acmicpc.net 풀이 DFS, BFS 둘 다 가능했지만, BFS에 조금 미숙하여 BFS로 진행하였다. 난이도가 쉬운 문제라 (실버 3?) 구현에 어려움은 없었다. 1에서 시작하여, chk와 연결되어있는 노드들의 방문여부를 체크하여 미방문 시 cnt++ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRea..

[백준 4949번 / Java] 균형잡힌 세상
코딩테스트/백준2023. 7. 1. 09:44[백준 4949번 / Java] 균형잡힌 세상

문제 링크 https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 풀이 단순 구현문제로 딱히 설명할 것은 스택을 사용했다 정도? 스택이 해당 문제를 풀기에 딱 적합했던 이유는 바로 이전에 등장했던 괄호를 꺼내보기 쉽다는 것(LIFO) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.S..

[백준 10866번 / Java] 덱
코딩테스트/백준2023. 7. 1. 08:45[백준 10866번 / Java] 덱

문제 링크 https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 데크 포스팅 후 링크 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class Ba..

[백준 1966번 / Java] 프린터 큐
코딩테스트/백준2023. 7. 1. 08:03[백준 1966번 / Java] 프린터 큐

문제 링크 https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 풀이 큐만 잘 알고있으면 그냥 단순 구현이 가능한 문제 문제에서, 같은 우선순위는 출력의 대상이 되는 것만 고려하면 됐다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; impo..

728x90
728x90
image