본문 바로가기

반응형

스택

[백준][Silver IV] 제로 - 10773번 파이썬 문제풀이 문제 링크성능 요약메모리: 31900 KB, 시간: 2360 ms분류자료 구조, 구현, 스택 문제 설명나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다.재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 부르는 사고를 치기 일쑤였다.재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다.재민이는 이렇게 모든 수를 받아 적은 후 그 수의 합을 알고 싶어 한다. 재민이를 도와주자!입력첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000)이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고,.. 더보기
7. 데이터 구조 - Queue의 이해 및 구현 1. queue의 개념스택의 경우, 나중에 들어온 데이터가 먼저 나가는 구조인 후입선출인 반면, 큐는 먼저 들어온 데이터가 먼저 나가는 구조로 이러한 특성은 선입선출(FIFO : first-in first-out)이라고 한다. 또한 큐는 뒤에서 새로운 데이터가 추가되고 앞에서 데이터가 하나씩 삭제되는 구조로 이루어져있기때문에 스택에서 삽입과 삭제를 구현하기 위해 사용되었던 변수가 top 1개만 사용하였지만, 큐는 삽입에 관련된 변수를 rear 라고 하고, 삭제에 관련된 변수를 front라고 한다. 큐는 은행에서 기다리는 사람들의 대기열, 혹은 인터넷에서 전송되는 데이터 패킷들을 모델링하는데에 사용되곤 한다.  2. queue의 ADT그렇다면 queue의 ADT에 대해서 살펴보자.일단 queue를 기본적인.. 더보기
6. 데이터 구조 - 스택의 응용(후위 표기 수식의 정의와 계산) 1. 후위표기 수식이란?우리는 많은 수식을 사용한다. 그중 우선 순위가 다른 연산자들이 있어 계산을 해야하는 순서가 정해져 있다.우리야 각각의 연산자들의 모양을 보고 우선 순위를 파악하지만, 컴퓨터는 어떠한 방식으로 수식을 계산할까? 수식을 표기하는 방식에는 3가지 방식이 있고, 이를 구분하는 방식은 연산자와 피연산자의 위치이다.1. 중위표기법 : 연산자가 피연산자 사이에 있음2. 후위표기법 : 연산자가 피연산자 뒤에 있음3. 전위표기법 : 연산자가 피연산자 앞에 있음 중위전위후위3+4*5+3*45345+*a*b+5+*ab5ab*5+ 컴퓨터는 이 3가지 표기중 후위표기법을 사용한다. 그래서 프로그래머가 인간들이 자주쓰는 표기법인 중위표기법으로 작성하면 컴파일러는 이것을 후위표기법으로 바꾸어 사용한다. 그.. 더보기
C언어로 가장 쉽게 스택(stack) 이해하기! 코딩에는 크게 두가지의 단계가 있다고 생각합니다. 크게 첫번째는 그 언어의 문법(예를 들어 if문이나 for문 등등)을 원하는 때에 적재적소로 사용할 수 있는 단계! 두번째는 자료구조와 알고리즘을 이용해 더 어려운 문제를 풀기 위한 발판을 만드는 단계! 이글은 두번째 단계의 시작인 사람(저도 포함입니다 ㅎㅎ)들을 위해서 작성했습니다 ㅎㅎ 스택(stack) 부터 시작해보시죠!! 스택 구현(stack) 단계 나누기 1. 구조체 및 변수 선언 2. 스택 초기화 함수(init_stack) 3. 공백 상태 검출 함수(is_empty) 4. 포화상태 검출 함수(is_full) 5. 삽입함수(push) 6. 삭제함수(pop) 7. 엿보기함수(peek) 1. 구조체 및 변수 선언 #include #include #in.. 더보기

반응형