[BOJ][Python3]12933. 오리
문제 유형: 구현 https://www.acmicpc.net/problem/12933 12933번: 오리 첫째 줄에 영선이가 녹음한 소리가 주어진다. 소리의 길이는 5보다 크거나 같고, 2500보다 작거나 같은 자연수이고, 'q','u','a','c','k'로만 이루어져 있다. www.acmicpc.net 퍼포먼스가 낮지 않으면서도 꽤 특이한 풀이를 작성했다고 생각해서 공유하고자 한다. 문제에서 묻는 건 오리의 수인데, q,u,a,c,k 이렇게 오리가 순서대로 운다. 다만 중첩해서 울 수도 있는데(qquuaacckk) 이런 경우는 오리가 두 마리 있는 경우다. 다만 invalid한 quack이 있을 수 있다. 순서가 맞지 않거나 글자가 하나 빠진 경우가 있기 때문이다. 대강 젤리코코라는 플래시게임을 상상..
2024. 3. 5.
[BOJ][Python3]2504.괄호의 값
문제 유형: 구현 요번에는 어떻게든 풀었지만, 좋지 않은 코드의 예시다. stack에 괄호 넣고 빼면서, 대체 어떻게 덧셈 + 곱셈을 구현하지? 라는 고민을 정말 많이 했다. 재귀로도 해보고, visited 배열을 만들기도 해보고 시도를 여러가지 하다 일반화가 잘 되지 않았다. 나름 해결한 방법으로는 score에 값을 하나씩 넣고 그 값에 대한 괄호 depth를 계산한 뒤, 같은 depth인 괄호는 더하고, 1 작은 depth를 만나면 곱하는 식으로 구현했다. 풀이 설명 ( () [ [] [] ] ) 이면 하나씩 짝 맞춰질때마다 스택에서 빼고 score에 append하면 score = [ 2, 3, 3, 3, 2] depth = [1, 2, 2, 1 , 0] 이다. 왼->오로 탐색하면서 최대 depth ..
2022. 11. 27.