목록Stack (9)
N
https://programmers.co.kr/learn/courses/30/lessons/81303?language=cpp 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 링크드 리스트 형태의 구조체를 선언하여 풀이. Node 구조체를 선언하고 내부에는 val, prev, next를 가지도록 한다. 초기값은 모두 -1을 가지며, for문을 통해 값을 모두 갱신한다. Node 구조체 배열을 node라는 이름으로 n개의 크기만큼 선언하고, Node 구조체를 저장..
https://leetcode.com/problems/populating-next-right-pointers-in-each-node/ Populating Next Right Pointers in Each Node - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com BFS를 이용. BFS에 이용할 queue와 같은 레벨에 있는 노드를 담을 stack을 빈 배열로 선언. answer = root로 정의. 또 다른 pointer를 root로 지정하고, count는 현재..

스택(Stack) Last In First Out(LIFO) 개념을 가진 선형 자료구조 프링글스 과자를 연상하자! 가장 먼저 들어간 과자는 바닥에 위치하며, 가장 마지막에 들어간 과자는 맨 위에 있다. 그렇기 때문에 가장 마지막에 들어간 과자부터 차례대로 먹을 수 있다! 스택은 배열이나 연결 리스트로 구현 가능하다. JS의 배열은 기본적으로 스택으로 구현된다.(push(), pop() 존재) 데이터 추가 push는 스택에 데이터를 추가한다. 배열의 가장 마지막에 데이터를 저장한다. 데이터 삭제 pop은 스택의 가장 마지막 데이터를 삭제한다. 코드 const stack = []; stack.push(1); stack.push(2); stack.push(3); console.log(stack); stack...
155. Min Stack Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. Implement the MinStack class: MinStack() initializes the stack object. void push(val) pushes the element val onto the stack. void pop() removes the element on the top of the stack. int top() gets the top element of the stack. int getMin() retrieves the minimum element in the stack. Ex..
20. Valid Parentheses Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. An input string is valid if: Open brackets must be closed by the same type of brackets. Open brackets must be closed in the correct order. Example 1: Input: s = "()" Output: true Example 2: Input: s = "()[]{}" Output: true Example 3: Input: s = "(]" Outpu..
https://programmers.co.kr/learn/courses/30/lessons/60058?language=javascript 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 스택과 재귀를 활용. 문제의 예시처럼 순서대로 코딩하면 된다. isBalanced(string) 함수 설명: 인자로 받은 string 배열이 균형잡힌 괄호인지 확인하는 함수. 스택을 이용해 괄호를 검사한다. stack이 비어있으면 string 배열은 균형잡힌 괄호라는 뜻으로 true를 반환한다. reverse(string) 함수..
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14_DEKAJcCFAYD&categoryId=AV14_DEKAJcCFAYD&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 스택을 이용한 문제. n 길이의 숫자를 받아오며, string 형태로 숫자를 저장한다. n개의 길이만큼 char형 stack s에 저장을 하는데 여기서 비밀번호를 만드는 과정을 적용한다. 1. s가 비어있지 않고 top과 i번째의 숫자가 같으면 pop(). 2. s가 비어있거나 top과 i번째의 숫자가 같지 않으면 push() 이를..

스택을 이용하여 풀면 쉽게 해결할 수 있다. s.size()만큼 반복문을 돌면서 스택에 넣어주자. 만약 스택이 비어있거나 스택의 top이 현재 s[i]와 같지 않다면 스택에 s[i] 문자를 넣어주자..! 하지만 스택의 top이 s[i]와 같다면 pop()을 해주어 같은 문자를 제거하면 된다. 반복문을 다 돌게 되었을 때, 스택이 비어있다면 모든 문자를 짝지어서 제거했기 때문에 1을 반환, 비어있지 않으면 문자가 남아있다는 뜻이므로 0을 반환하면 된다..! #include #include #include using namespace std; int solution(string s) { int answer = 0; stack stk; for(int i = 0; i < s.size(); i++) { if(st..