목록Stack (8)
All :L
[스택]스택스택(stack) : 한 쪽에서만 데이터 삽입 및 삭제가 가능한 자료구조푸시(push) : 데이터를 저장하는 연산팝(pop) : 데이터를 빼내는 연산후입선출(LIFO) : 한 쪽에서만 데이터 저장, 관리되기 때문에 나중에 삽입된(후입) 데이터가 먼저 나옴(선출)활용 사례 1) 최근에 임시 저장한 데이터를 가장 먼저 활용해야 할 때 (매개변수 저장) int bar(int y) { return y + 2; } int foo(int x) { bar(2); return x + 1; } foo(1);매개변수 x → 1로 초기화bar 함수 호출 → 매개변수 y → 2로 초기화bar 함수 (2 + 2) 반환 → 매개변수 y 삭제foo 함수 (1 + 1) 반환 → 매개변수..
Puyo Puyo (11559)1. 문제 분석문제 개요6x12 크기의 필드에서 같은 색의 뿌요(Puyo)가 4개 이상 연결되면 터지고, 터진 후에는 위의 뿌요들이 아래로 떨어진다. 더 이상 터질 수 있는 뿌요가 없을 때까지 반복하고, 이때 발생하는 연쇄의 횟수를 구하는 문제이다.입력 형식12개의 줄에 각각 6개의 문자로 이루어진 필드의 상태가 주어진다. 필드는 ".", "R", "G", "B", "P", "Y"로 이루어지며, 각각 빈 공간과 다섯 가지 색상의 뿌요를 나타낸다.출력 형식터질 수 있는 모든 뿌요가 터진 후 발생한 연쇄의 횟수를 출력한다.2. 알고리즘 종류DFS(깊이 우선 탐색) 알고리즘을 사용하여 필드의 각 위치에서 같은 색의 뿌요가 몇 개 연결되어 있는지를 확인한다.Stack(스택) 자료구..
쇠막대기 (10799)1. 문제 분석문제 개요쇠막대기가 여러 개의 조각으로 나누어진 모양이 주어진다.쇠막대기와 그 위의 막대기들을 스택을 이용해 잘라진 조각의 개수를 세는 문제다.입력 형식첫 줄에 쇠막대기의 모양을 나타내는 문자열이 주어진다. 문자열은 괄호로만 구성된다.출력 형식잘라진 쇠막대기의 조각 수를 출력한다.2. 알고리즘 종류이 문제는 스택을 이용한 괄호 분석 문제로, 쇠막대기를 정확히 잘라내기 위해 스택을 활용해 괄호의 위치를 분석하는 방식으로 해결할 수 있다.3. 주요 부분 및 코드 작성 방법1. 스택 사용여는 괄호 (를 만나면 스택에 추가하고, 닫는 괄호 )를 만나면 스택에서 제거한다.닫는 괄호가 여는 괄호 바로 뒤에 나오면 레이저로 판단하고, 스택의 크기만큼 조각 수를 추가한다.연속된 닫는..
스택 수열 (1874)1. 문제 분석문제 개요주어진 정수 순서를 스택을 사용해 수열을 생성하고, 그 수열을 만족하기 위해 필요한 스택 연산(+와 -)을 출력하는 문제이다.수열이 스택을 통해 만들 수 없는 경우에는 "NO"를 출력해야 한다.입력 형식첫 줄에 정수 n이 주어진다.다음 n줄에 정수가 주어진다. 각 정수는 스택에서 꺼내야 할 순서이다.출력 형식수열을 생성하기 위한 스택 연산을 +와 -로 출력하고, 스택으로 수열을 만들 수 없는 경우에는 "NO"를 출력한다.2. 알고리즘 종류이 문제는 스택을 이용한 시뮬레이션 문제로, 주어진 수열을 스택 연산으로 생성할 수 있는지를 확인하는 방식으로 해결할 수 있다.3. 주요 부분 및 코드 작성 방법1. 스택 사용 및 연산 처리정수를 스택에 넣기 위해 + 연산을 ..
괄호의 값 (2504)1. 문제 분석문제 개요주어진 문자열에서 괄호의 짝을 맞추고, 괄호가 짝이 맞을 때 각각의 괄호에 대해 특정 값을 계산하는 문제이다.괄호가 올바르게 쌍을 이루어야 하며, 계산된 값은 괄호의 짝을 이루는 방식에 따라 다르다.입력 형식한 줄에 괄호로 구성된 문자열이 주어진다.출력 형식괄호가 올바르게 짝을 이루면 계산된 값을 출력하고, 그렇지 않으면 0을 출력한다.2. 알고리즘 종류이 문제는 스택을 이용한 괄호의 짝 맞추기와 계산 문제이다. 스택을 사용하여 괄호를 처리하고, 괄호의 짝에 따라 값을 계산한다.3. 주요 부분 및 코드 작성 방법1. 스택 사용 및 괄호 처리여는 괄호는 스택에 추가하고, 닫는 괄호는 스택에서 짝을 맞추어 제거한다.괄호 쌍에 대한 계산은 현재 스택의 상태와 괄호의..
괄호 (9012)1. 문제 분석문제 개요여러 개의 괄호 문자열이 주어졌을 때, 각 문자열이 올바른 괄호로 구성되어 있는지 확인하는 문제이다.괄호가 올바르게 구성되려면 여는 괄호 (와 닫는 괄호 )가 쌍을 이루어야 하며, 그 순서도 맞아야 한다.입력 형식첫 줄에 검사할 괄호 문자열의 개수 n이 주어진다.다음 n줄에 각각 하나씩의 괄호 문자열이 주어진다.출력 형식각 문자열에 대해 올바른 괄호 구성이라면 "YES", 그렇지 않다면 "NO"를 출력한다.2. 알고리즘 종류이 문제는 스택을 이용한 괄호 유효성 검사 문제로, 여는 괄호는 스택에 넣고, 닫는 괄호가 나오면 스택에서 제거하는 방식으로 해결할 수 있다.3. 주요 부분 및 코드 작성 방법1. 스택 사용여는 괄호 (는 스택에 추가하고, 닫는 괄호 )가 나오면..