본문 바로가기

BOJ/Java

(3)
[BOJ 10799번/LowerBound(Binary Search)] 쇠막대기 (Java) 문제 링크 https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 백준 10799번 문제는 주어진 문자열에서 쇠막대기와 레이저의 배치를 나타내고, 몇 개의 조각으로 쇠막대기가 잘려지는지를 구하는 문제이다. 풀이 방법 1) 처음에 구상했던 방법 - 배열을 이용해 쇠막대기 사이 위치의 인덱스들을 모두 돌며 레이저의 개수를 확인하여 쇠막대기의 잘린 조각 개수 세기 스택을 이용한 레이저 및 쇠막대기의 위치 확인 - 여는 괄호 '('를 만나면 스택에 추가한다. - 닫는 ..
[BOJ 5397번/Stack, LinkedList] 키로거 (Java) 문제 링크 https://www.acmicpc.net/problem/5397 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이가 백스페이스를 입 www.acmicpc.net 백준 5397번 키로거는 실제로 키보드로 입력된 문자열을 기록하여, 키를 누르거나 뗄 때마다 키 입력 상태가 바뀌는 상황에서 입력된 문자열을 출력하는 문제이다. 풀이방법 1) Stack을 이용한 방법 - Stack을 통한 문제해결 동작 방식 문자열 입력 받기 및 Stack 선언(leftStack, rightStack) 입력 받은 문자열을 String으로 저장합니다. 커서를 기준으..
[BOJ 3272번/HashMap] 두 수의 합 (Java) 문제 링크 https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 백준 3273번 문제는 수열과 합 문제로, 길이가 n인 수열과 정수 x가 주어졌을 때, 수열에서 두 원소를 선택하여 그 합이 x가 되는 경우의 수를 구하는 문제이다. 풀이방법 1) 투 포인터(Two Pointers)를 이용한 방법 - 투 포인터 알고리즘을 통한 문제해결 동작 방식 시작점(start)과 끝점(end)을 첫 번째 원소의..