자료구조 6

[n11899] 괄호 끼워넣기 in python

HTML 삽입 미리보기할 수 없는 소스 array=list(input()) stack=[] answer=0 for i in range(len(array)): if array[i]=='(': stack.append("(") continue if len(stack)!=0 and stack[-1]=="(": stack.pop() else: answer+=1 print(answer+len(stack)) 스택의 성질을 이용하여 푼 문제! ( 괄호면 stack에 넣고 ) 괄호면 짝이 있는지 없는지 stack을 살펴봐야한다. 짝이 없으면 answer+=1 있으면 stack.pop()

[n1755] 숫자 놀이 in python

sorted, lambda, dictionary를 이용해서 풀 수 있었던 정렬 및 문자열 문제! 리스트에 숫자와 문자를 같이 넣어주는 생각을 바로 떠올리지 못했음! m, n = map(int, input().split()) dic = {'1': 'one', '2': 'two', '3': 'three', '4': 'four', '5': 'five', '6': 'six', '7': 'seven', '8': 'eight', '9': 'nine', '0': 'zero'} temp = [] answer = [] for i in range(m, n + 1): answer.append([i, ''.join(dic[k] for k in str(i))]) answer.sort(key=lambda x:x[1]) for i..

[n1021] 회전하는 큐 in python

덱을 이용해서 양방향 배열 구현하기 연산의 종류 3가지 1. 첫 번째 배열 원소 빼내기 2. 왼쪽으로 배열 이동 3. 오른쪽으로 배열 이동 while i != array[0]: array.appendleft(array.pop()) cnt += 1 array.popleft() while문이 끝난 뒤 array.popleft()를 붙여주지 않아서 한동안 헤맸다! 문제 풀기 전에 미리 설계를 해두고 코드를 짜는 습관을 들여보자 :).. from collections import deque n, m = map(int, input().split()) array = deque([i for i in range(1, n + 1)]) location = list(map(int, input().split())) cnt =..

[C++로 쉽게 풀어쓴 자료구조] 미로 탐색 프로그램 ( 스택, 큐, 덱)

안녕하세요 여니입니다 오늘은 스택과 큐 덱을 이용한 미로탐색 프로그램에 대해 알아보는 시간을 가지려 합니다 (출처는 C++로 쉽게 풀어쓴 자료구조 책이구요!) 1. 스택을 이용한 미로 탐색 프로그램 일단 위에 있는 사진 보이시나요? 스택을 이용한 미로탐색 프로그램을 실행시킨 결과값인데요! 미로사이즈를 6X6으로 정하고 시작했습니다 일단 현재 위치를 나타내기 위해서 Location2D라는 헤더파일을 하나 작성해줍니다 struct Location2D { int row; // 현재 위치의 행 번호 int col; // 현재 위치의 열 번호 Location2D(int r = 0, int c = 0) { row = r; col = c; } bool isNeighbor(Location2D& p) { // 위치 p가..

[C++로 쉽게 풀어쓴 자료구조] 3장 연습문제 해답 및 풀이

(출처 : C++로 쉽게 풀어쓴 자료구조) 안녕하세요 여니입니다 오늘은 쉽게 풀어쓴 자료구조 C++ 3장 연습문제 해답 및 풀이를 포스팅해보려고 합니다~ 1번문제 답 : 1번) D,A,B,C 2번문제 답 : 3번) 운영체제의 작업 스케줄링 --> (풀이) 스택이 아니라 큐의 응용 분야 3번문제 답 : 2번) head(front)와 tail(rear)의 2개 포인터를 갖고 있다 --> (풀이) 큐 4번문제 답 : Underflow --> (풀이) Underflow란 스택에 데이터가 없는데 데이터를 꺼내려고 할 때 오류가 발생 Overflow : 스택에 데이터가 꽉 찼는데도 불구하고 데이터를 넣으려고 할 때 오류가 발생 5번문제 답 : 1번) 오버플로우 처리 --> (풀이) 스택 포인터의 값이 스택의 길이값..