목록2024/01 (75)
미소를뿌리는감자의 코딩
https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 1. 접근 방법 이 문제는 보자마자, ()[]. 을 분리해 내야겠다고 생각이 들었다. 사실 알파벳 같은 경우에는, 따로 고려해야할 부분이 없다고 생각하였기 때문이다. 따라서 ChatGPT 에서 예시문장을 주고, ()[]. 을 분리해 낼 방법을 물어보았다. Pattern 및 matcher class를 사용하면 될 것이라고 하였다. BufferedReader reader = ne..
https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 1. 접근 방법 해당 문제는 자료 구조 시간에 배웠던 것이어서 바로 접근할 수 있었다. 우선 문자열들을 받아서, 분리하여 stack에 넣어주었다. 이후 위에서 부터 하나씩 pop을 하여, ")" 가 출력되게 된다면, right변수 +=1 을 해주었고 "("가 출력되게 된다면 right 변수 -=1을 해주었다. 하지만 만약 right 변수가 0이어서 빼주게 된다면 음수..
https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 1. 접근 방법 이번 문제는 왼쪽으로 돌려서 원하는 수를 찾을 것인지, 오른쪽으로 돌려서 원하는 수를 찾을 것인지가 쟁점인 문제였다. 더불어서, 1) pop을 하는 방식은 원하는 원소를 뽑아내려고 할 때만 사용이 될 것이라, 하나의 부품으로 보고 접근하였다. 방향을 결정하는 방법으로, 원하는 값의 위치가 길이/2을 기준으로 왼쪽에 있느냐 오른쪽이 있느냐 였다. ~~~~?~~ | ~~~~~~ 찾..
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. 접근 방법 첫 번째, 예시를 예로 들어보자. 우선 구하고자 하는 순서를 배열로 만든다. 예제 입력 1을 예시로 하여 보자.)배열 A = [ 4, 3, 6, 8, 7, 5, 2, 1] 로 구성될 것이다. 다음으로, stack을 [1, 2, 3, 4, 5, 6, 7, 8] 로 구성하여, 1이 제일 위에 오도록 한다..