일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 로버트마틴
- tcp
- 백준
- JDBC
- Pattern
- solid
- Java
- JavaScript
- Collections
- design-pattern
- 스택
- 파이썬
- exception
- 람다 칼큘러스
- Collection
- DesignPattern
- Eclipse
- functional programming
- lambda calculus
- 겨울카카오인턴
- 큐
- 함수형 프로그래밍
- 프로그래머스
- Spring
- 디자인패턴
- Rails
- 자바
- javscript
- Python
- Network
- Today
- Total
목록스택 (4)
개발자 노트
문제 설명 주식가격들이 주어졌을 때 각 시점에 대해 연속해서 떨어지지 않는 날의 수를 구할 것. prices의 길이가 10만이므로 시간복잡도 유의 접근 이 문제는 왜 스택을 이용하면 편할까? 문제만 읽어봤을 때 말로 풀어쓰면 다음과 같다. 매 시점마다 주식가격이 올랐는지 안올랐는지 판단한다. 그리고 주식가격이 올랐거나 같으면 계속 지니고 있어서 시간을 증가시켜줘야 한다. 만약 떨어졌으면 떨어진 가격보다 큰 값들은 모두 제거해줘야 한다. 매 시점마다... -> 시간이 존재한다., 그리고 지니고 있어야 하므로 특정 자료구조에 담아줘야 한다. 그리고 3번을 보면 떨어진 가격을 제거해줄 때가 중요하다. 데이터를 담은 자료형에는 담겨진 순서대로 주식가격이 가격이 같거나 증가한다. 따라서 제거할 때는 역순으로 제거..
문제 설명 문제에서 그림과 함께 잘 설명되어 있기에 pass 봐야할 것이라면 잘린 쇠막대기의 총 수를 구하라 '()'가 레이저. arrangement가 최대 10만이기에 시간초과 주의 접근 딱 보면 뭐 어떻게 해야하는거야... 싶은 문제다. 그래서 나는 문제를 단순화해서 생각해봤다. 단순화할 때 유념해야할 것은 '()'가 레이져, 잘린 갯수 구하는 문제라는 것. case 1. ()만 주어질 경우 잘린 쇠막대기가 없으므로 0 case2. (()) 잘린 쇠막대기가 레이저에 의해 2개가 된다. case3. ((())) 잘린 쇠막대기가 레이저에 의해 4개가 된다. case4. (()()) 잘린 쇠막대기가 레이저에 의해 3개가 된다. case5. ((()())) 잘린 쇠막대기가 레이저..
문제 설명 queue인데 다음과 같은 우선순위를 고려하는 큐이다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다.priorities = [2, 1, 3, 2] 문서의 우선순위가 위와 같이 주어졌을 때, 특정 위치(location)에 있는 문서가 몇 번째에 출력될 것인가? 제한사항(조건) 1 삽입도 시간복잡도 1이 되서 더 빠름.) 구현 from queue import PriorityQueue from collections import deque class MaxPQ: def __init__(self): self.pq = Pr..

문제설명 간단히 말하여 높이가 서로 다른 탑들이 주어졌을 때 탑 꼭대기 왼쪽방향에 해당 탑보다 큰 탑이 존재하면 해당 탑의 번호를(1부터 시작), 없으면 0을 출력한다. 문제를 이해하는데 있어 중요한 내용은 1.탑의 높이는 중복없음. 2.탑의 수는 50만이하 탑의 높이는 1억이하이다. 접근 아이디어가 곧바로 떠오르지 않아 예제를 통해 어떻게 접근할 지 결정하고자 했다. 예제 : 6 9 5 7 4 1.6기준 왼쪽에 탑이 없으므로 0출력 2.9기준 6은 낮으므로 또 0 출력 3.5기준 9가 높으므로 9의 번호인 2번 출력 4.7기준 왼쪽에 있는 5는 낮으나, 9가 만나 2추력 5.4기준 7을 만나 그 번호인 4출력. 위를 봤을 때 관심의 대상이 되는 빌딩기준 왼쪽에 더 큰 빌딩이 있는지 봐야하는데 단계가 지..