본문 바로가기

알고리즘/백준77

1062번 - 백트래킹 이번 문제는 혼자 풀지 못한 문제이다.K종류의 알파뱃만 사용 가능할 시 anta로 시작하고 tica로 끝나는 단어 N 개중 몇 단어를 완성시킬 수 있는지에 대한 문제였다.처음에는 a n t i c가 담긴 hashset에 재귀를 이용해 각 단어의 글자를 추가하여, 몇 단어가 최대인지 맞추려고 했다.하지만 시간초과가 나왔다. 틀린 풀이는 아래와 같다.더보기더보기package wrong;import java.util.*;import java.util.concurrent.atomic.AtomicInteger;public class 가르침_1062번_틀림 { public static void main(String[] args) { Scanner sc = new Scanner(System.in);.. 2024. 6. 29.
14719번 - stack 응용 비록 골드 5티어지만 드디어 골드까지 왔다.14719번: 빗물 (acmicpc.net)위 문제를 풀게 되었다.간단히 설명하자면 2차원 세계가 주어지고, 그곳에 비가와서 비가 고인다는 내용이다.위와 같이 고이게 되고 빗물이 얼만큼 고였는지 출력해줘야 한다.입력으로는 2차원 세계의 크기와 각 칸마다 높이가 어느정도인지 주어진다.나는 한칸씩 전진하며 만약 뒤의 블럭이 지금 블럭보다 낮고,그 뒤에서 가장 높은 블럭이 지금 블럭보다 높은지 낮은지를 판단하여만약 낮다면 채우지 않고, 낮지 않다면 물을 채워주는 방식으로 풀었다. 전체 코드import java.util.*;public class 빗물_14719번 { public static void main(String[] args) { Scanne.. 2024. 6. 27.
2504번 - 괄호 2504번: 괄호의 값 (acmicpc.net)위 문제를 풀어보았다. 아래와 같은 조건으로 최종 값을 계산하는 문제다‘()’ 인 괄호열의 값은 2이다.‘[]’ 인 괄호열의 값은 3이다.‘(X)’ 의 괄호값은 2×값(X) 으로 계산된다.‘[X]’ 의 괄호값은 3×값(X) 으로 계산된다.올바른 괄호열 X와 Y가 결합된 XY의 괄호값은 값(XY)= 값(X)+값(Y) 로 계산된다.유효한 괄호열이 아니면 0을 출력한다Stack을 이용해 괄호 문제를 푸는 경험은 많이 해봤으나, 이번 문제는 조금 더 독특했다.import java.util.*;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(Sy.. 2024. 6. 26.
1292번, 14888번 - 스택, 큐, 재귀 실버에서 조금 고티어 문제들도 풀어보았다.자료구조가 크게 달라지지는 않았지만, 좀더 정확한 이해가 필요했다.1292번 쉽게푸는 문제import java.util.*;public class 쉽게푸는문제_1292번 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int start = sc.nextInt(); int end = sc.nextInt(); Queue queue = new LinkedList(); Stack stack = new Stack(); int num = 0; int count = 1; int .. 2024. 6. 25.