일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- stdin vs input
- 파이어베이스
- 코딩테스트
- JS
- C++
- CSS
- 안드로이드
- 백준 스택 시간초과 python
- 자바스크립트
- 최적화
- next Link
- typescript
- 타입스크립트
- HTML
- react
- kotlin
- 파이썬
- 알고리즘
- Python
- 리액트
- Android
- NPM
- 프론트엔드
- nodejs
- TS
- javascript
- 백준 스택
- firebase
- k for k
- 스택
- Today
- Total
목록알고리즘 (6)
sooleeandtomas

♣️ 문제 주어진 배열이 있고, 문자 4개('L' or 'R')가 주어졌을때 L이면 왼쪽으로 한칸씩 이동 R이면 오른쪽으로 한칸씩 이동하여 완성된 배열을 출력하세요. *맨 뒤에 있는 숫자는 맨앞으로 배치해주세요. 1 2 3 4 5 입력 출력 R L L L 3 4 5 1 2 ♣️ 문제 포인트 backup을 할 수 있는 공간이 필요하다. 기존 arr의 배열의 크기는 5이지만, 백업공간을 위해 크기가 6인 배열로 선언해줍니다. *** L과 R의 경우가 약간 달라요~! L인경우 (왼쪽 이동) 1. 첫번째 원소를 백업공간에 저장해줍니다. arr[5] = arr[0]; 2. 모든 원소를 왼쪽으로 한칸 씩 이동시킵니다. 3. 포문이 끝난 후, 마지막 원소에 백업 공간에 있는 원소를 넣어줍니다. arr[4] = arr..

백준 1874 스택 수열 문제를 이해하는데만 2시간이 걸린 것 같다. 내 생각엔 저 문제만으로는 절.대.로 이해할 수 없다. 💢 아래 글들과 내용들을 참고해야 이해할 수 있다. https://hongcoding.tistory.com/39 https://www.youtube.com/watch?v=byCxMbgzEVM 문제 설명 이 문제는 스택의 FILO의 개념을 익히는데 도움을 주는 문제이다. 주어진 인풋값과 동일해질때까지 스택에 숫자를 append해가고, 동일해진다면 스택에 쌓인 수를 pop 해준다. 만약 인풋값이 스택에서 pop할 수 있는 마지막 숫자가 아니라면 에러를 뿜게된다. ! pop(0)안되죠~ 무조건 맨 마지막 원소를 pop해야한다. 풀이 설명 준비물 stack = [] answer = [] ..

좀 쉬운 것 같아서 하나 더 풀기로 했다. 근데 이것도 거의 10분 컷이었다. 완전 쉬움 아까 살짝 맛본 class를 사용해보았다. import sys class stack: def __init__(self): self.L = [] def push(self, X): self.L.append(X) def pop(self): if len(self.L) == 0: return -1 else: self.L.pop() def sum(self): return sum(self.L) a = stack() N = int(sys.stdin.readline()) for i in range(N): L = list(map(str, sys.stdin.readline().strip().split())) if L[0] == "0":..

import sys def stack(n): stack_list = [] for _ in range(n): command = sys.stdin.readline() #input() 을 사용하게 되면 시간이 초과된다. if "push" in command: number = command.split(' ')[-1] stack_list.append(int(number)) if "top" in command: if len(stack_list) == 0: print(-1) else: print(stack_list[-1]) if "size" in command: print(len(stack_list)) if "pop" in command: if len(stack_list) == 0: print(-1) else: pr..

프로그래머스 lv.2 스택/큐 - 프린터 이번 문제는 기존 큐, 스택 문제와 조금 다르게, 우선순위에 따라서 삭제와 삽입 연산을 수행한다. 마치 원형큐와 같다. 원형큐 front쪽에서 삭제가 되고 rear쪽에서 삽입을 한다. *큐에서 삭제는 front에서, 삽입은 rear에서만 가능하다. #풀이설명 1. 큐의 첫번째 원소를 삭제하여 기억해둔다. 2.큐의 첫번째 원소를 나머지 배열의 원소와 대소비교 if) 큐의 첫번째 원소가 (any) 나머지 배열들보다 크지 않으면 큐에 삽입된다. (큐에서 삭제는 front, 삽입은 rear) else) 큐의 첫번째 원소가 (any) 나머지 배열들보다 크다면 count + = 1 를 해준다. if) param의 위치값이 큐의 첫번째 원소의 위치값과 같다면 break els..

프로그래머스 코딩테스트 lv.2 올바른 괄호 Stack 스택 스택이란 : 입출력 순서를 중심으로 자료들 간의 관계가 성립되는 자료구조입니다. 즉, 입력이 가장 늦게 된 자료가 가장 먼저 출력되는 관계를 표현합니다. 예전에 처리했던 값들을 역순으로 되돌아가며 찾아내서 처리해야 하는 경우에 많이 사용됩니다. 그리고 삭제 연산을 수행하기 전에 스택에 삭제할 자료가 남아 있는지를 확인해야 합니다. 출처:[자료구조] 강태원.정광식 저자 이 문제에서 위의 스택의 정의에 나와있는대로 "예전에 처리했던 값들을 역순으로 되돌아가며 찾아내서 처리해야 하는 경우"를 구현해볼 수 있다. happy case 1. ( 스택: [(] 2. ) 스택: [] 결과:[] 1. ( 스택: [(] 2. ( 스택: [((] 3. ) 스택: ..