본문 바로가기
728x90
반응형

백준 알고리즘/스택4

[백준 5430][파이썬] AC https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 파이썬 자료구조 deque와 문자열 관련 메소드를 사용해서 푸는 문제이다. 문제 자체는 어렵지 않으나 시간을 줄이는 알고리즘을 선택해야한다. 이 문제를 풀기 위해 다음과 같은 문자열 관련 메소드들을 알아야한다. 문자열에서 특정 문자를 없애는 방법 특정 문자를 기준으로 문자열을 나누어 리스트로 만드는 방법 리스트 각각의 요소들을 합치는데 특정 문자로 구분하여 합치는 방법 1. 문자열에서 특정 문자를 없애는 방법 문자열 메소드 replace를 사용하여 없앨.. 2023. 2. 25.
[백준 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씩 증가) 현재 스택의 가장 위에 있는 값 입력 값 다음과 같은 상황들을 고려하면 된다. 입력 값(3번)이 .. 2023. 2. 23.
[백준 10799][파이썬] 쇠막대기 https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net https://growth-coder.tistory.com/82 이전에 풀었던 괄호 문제와 유사한 스택을 활용한 문제이다. 이 문제는 레이저를 만났을 때의 쇠막대기의 개수가 중요하다. 그냥 쇠막대기의 개수가 아니라 레이저를 만났을 때 관통중인 쇠막대기의 개수이다. 다시 말해 아직 ')' 를 만나지 못한 '(' 문자의 개수가 중요하다. 그렇다면 아직 ')' 를 만나지 못한 '(' 문자의 개수를 어떻게 구할 수.. 2023. 2. 5.
[백준 9012][파이썬] 괄호 문제 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 괄호 모양이 올바른 괄호 모양인지 판단하는 문제이다. 올바른 괄호 모양의 정의를 다음과 같이 내렸다. 1. '(' 모양의 개수를 left, ')' 모양의 개수를 right로 정한다. 2. 문자열의 앞에서부터 left와 right를 증가시키는 과정에서 left는 항상 right 보다는 같거나 커야한다. 3. 한 문자열을 전부 조사하고 나면 left와 right의 개수는.. 2023. 2. 3.
728x90
반응형