본문 바로가기

반응형

스택

(4)
[BOJ] 백준 10773 제로 (Swift) 문제 https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 풀이 정수가 "0"일 경우 가장 최신에 쓴 수를 지운다는 것을 보고, Stack 자료구조를 떠올릴 수 있습니다. 총 k번의 입력을 받으면서 정수가 "0"일 경우는 removeLast 메서드를 사용해 가장 최신에 삽입된 요소를 삭제시켜주고, "0"이 아니라면 삽입해줍니다. k번의 입력이 끝난 후, 배열의 요소의 합을 출력해주면 되는 문제입니다. 정수가 "0"일..
[BOJ] 백준 10828 스택 (Swift) 문제 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 스택 자료구조를 사용해서 풀 수 있는 문제입니다. 스택 자료구조를 모른다면 이 글을 한 번 읽어보시면 도움이 될 것입니다. https://dev-mandos.tistory.com/184 [자료구조] Stack에 대해 알아보고 구현해보기 (Swift) Stack이란? Stack 자료구조는 후입선출(Last In First Out)LIFO 의 특성을 갖는 자료구조 입니다...
[자료구조] Stack에 대해 알아보고 구현해보기 (Swift) Stack이란? Stack 자료구조는 후입선출(Last In First Out)LIFO 의 특성을 갖는 자료구조 입니다. 즉, 나중에 들어온 것이 가장 먼저 나가는 구조입니다. 예를 들어 1, 2, 3이란 원소가 Stack에 들어왔다면 스택에 요소들이 이러한 식으로 들어와져 있을 것입니다. pop을 하게 된다면? element 3이 삭제될 것입니다. 시간 복잡도 삽입 : $O(1)$ 삭제 : $O(1)$ 검색 : $O(n)$ 스택의 활용 실행 취소 (undo) 웹 브라우저에서의 뒤로가기 재귀함수 구현 스택을 어떻게 구현할 수 있을까요? 연결리스트를 사용하여 구현할 수도 있지만 Array를 사용해서 구현해보겠습니다. 삽입 연산은 Swift의 Array의 append 메서드를 사용할 수 있습니다. 단순히 A..
[BOJ] 백준 1316 그룹 단어 체커 (Swift) 문제 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 풀이 Stack을 사용하면 쉽게 풀 수 있는 문제 입니다. 입력받은 단어에 대해 하나씩 확인하면서 스택에 넣어줍니다. 만약 Stack이 비어있지 않고, 스택의 꼭대기의 값이 현재 들어올 문자와 같다면 스택을 pop 해줍니다. 그 이후 스택에 현재 들어올 문자를 넣어줍니다. 그렇다면 ccazzzzbb 문자열이 들어온다면 어떤식으로 동작할까요? 스택이 비어있기 때..

반응형