본문 바로가기

실버3

(2)
[백준 1406] 에디터 문제 링크 www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net ✅ 커서의 왼쪽에 들어가는 문자들과, 커서의 오른쪽에 들어가는 문자들을 따로 보관하였다. 커서가 움직일 때마다 왼쪽과 오른쪽 문자가 들어있는 배열에 push 하고 pop 하여 구현하였다. R의 최대는 600000 이고, L은 커서를 왼쪽으로 옮길 때 입력이 되기 때문에 (문자 입력+L 동작이 필요) 300000을 최대로 잡았다. C언어로 풀었는데, 아마 C++ 이나 파이썬에서는 stack 을 활용해서 ..
[백준 10799] 쇠막대기 문제 링크 www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net '(' 가 나오면 막대기 레이어가 추가되고, ')'가 나오면 레이어가 준다. '()' 가 나오면 레이어 수만큼 절단된 쇠막대기 개수가 증가한다. # 제출 코드 #include char A[100000+10]; int main(){ int i = 0, layer = 0, sum = 0; scanf("%s", A); for(i=0; A[i]; i++){ if(A[i] == '(' && A[i+1]== ')') { ..