본문 바로가기

전체보기66

[백준 17413] 단어 뒤집기2 - 자바 [https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 있다. 문자열의 시작과 끝은 공백이 아니다. ''가 문자열에 있는 경우 번갈아가면서 등장하며, '')일때는 마이너스 1을 해줌으로써, 태그 안인지 밖인지 구분이 가능하다. 2. 코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); .. 2020. 4. 25.
[백준 10866] 덱 - 자바 https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다. www.acmicpc.net 1. 풀이 자바의 ArrayDequeue를 이용하여 풀이를 해보았다. 이미 다 구현된 덱이 있어서 쉽게 풀이가 가능하다. 다음엔 덱을 직접 구현해 풀이를 해 볼 생각이다. 지금은 뭔가 시간이 아깝(?)... 2. 코드 import java.util.*; public class Main { public static void main(String[].. 2020. 4. 25.
[백준 1158] 요세푸스 문제 - 자바 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 1. 풀이 이번 문제는 요세푸스 수열을 푸는 문제이다. 리스트를 사용해서 풀이를 하고, 백준 강의를 보았는데 큐를 사용하면 더 이해가 쉽게 풀 수 있는 것 같다. 순서가 차례대로 돌아가기 때문에, 맨 앞에 있는 것을 m-1만큼 pop과 push를 반복하여, 맨 앞에 있는 숫자를 pop을 하고 결과에 붙이면 된다. 2. 코드 import java.util.*; public class Main { public static void main(String[] args) { Scanner sc =.. 2020. 4. 25.
[백준 10845] 큐 - 자바 https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다. www.acmicpc.net 1. 풀이 큐에 대해서 간단히 구현을 해보는 문제이다. C언어를 공부할 때 배열을 사용한 원형 큐가 생각나서 구현해볼겸 한번 해봤더니 잘 통과한다. 굳이 이렇게 풀 필요는 없다. 그저 복습할 겸 한번 구현 해보았다. 원형 큐는 아래와 같다. 주의 할 점은 end가 배열의 마지막 위치에 오면 다시 원점(0)으로 돌려줘야한다. 이때, 만약 f가 0에.. 2020. 4. 25.
[백준 1406] 에디터 - 자바 https://www.acmicpc.net/problem/1406 1406번: 에디터 문제 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 www.acmicpc.net 1. 풀이 알고리즘 문제를 푸는데 어떠한 알고리즘을 사용할지 결정하는 것이 매우 중요하다고 느낀 문제이다. 스택에 대해서 잘 안다고 생각했지.. 2020. 4. 24.
[백준 1874] 스택 수열 - 자바 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 1. 풀이 알고리즘 문제는 풀면 풀수록 좌절과 함께 내가 겸손해지는 것 같다.. 처음 문제를 보고 머리속에 풀이가 떠올랐지만, 코드로 바꾸는데는 어려움이 많았다. 오늘도 알고리즘을 풀며 한번 더 겸손해진다. 우선 문제는 수를 스택을 이용해 넣었다가 뽑아 늘어놓음으로써 수열이 완성 될 수 있는가 없는가이다. 된다면 p.. 2020. 4. 24.