파이썬으로 배우는 알고리즘 책을 공부하며 풀었던 LeetCode문제들을 재정리해보자. # 문제 설명 739번 Daily Temperatures는 매일의 온도를 리스트를 받아서 해당 일자 기준, 며칠을 더 따뜻한 날씨를 기다려야 하는 지 출력하는 문제이다. # 풀이방법 1 - 책 풀이 참고 class Solution: def dailyTemperatures(self, temperatures: List[int]) -> List[int]: result = [0] * len(temperatures) stack = [] # (for문으로 temperatures 한 번만 순회하면서, stack에 인덱스를 저장) for i, t in enumerate(temperatures) : # stack에서 값을 꺼내어, 현재..
전체 글
"Reflections and Growth Through Records" 회고와 기록을 통한 성장으로환경 : VMWare WorkStation _ Ubuntu 21.04.02 LTS 01 | JAVA 설치 과정 먼저 Spark를 설치하기 위해서는 JAVA 8버전 이상이 설치되어 있어야 한다. java-version (혹은 javac -version) 명령어로 JAVA가 설치되어 있는지 확인하고, 설치가 안 되었다면 다음 과정을 통해 설치하자. 1. openjdk 다운로드 다음 명령어로 JAVA JDK를 다운 받는다. sudo apt-get install openjdk-8-jdk java -version다음 명령어로 자바가 잘 설치되었는지 확인하고, 잘 되었다면 readlink 명령어로 설치 경로를 복사한다. $ java -version openjdk version "1.8.0_312" $ which j..
Apache Spark에 대한 자세한 설명은 저번 글에서 설명한 적이 있다. 오늘은 강의를 들으며 배운 Spark를 정리하도록 하겠다. 구성은 Spark에 대한 간단한 설명과 Hortonworks로 진행한 실습을 정리한다. [ 목차 ] https://hyem207.tistory.com/24 [스파크 완벽 가이드] CH.1_아파치 스파크란 01 | 아파치 스파크 스파크(Spark)란 통합 컴퓨팅 엔진, 클러스터 환경에서 데이터를 병렬로 처리하는 라이브러리 집합 (병렬 처리 오픈소스 엔진) * 클러스터 : 두 개 이상의 노드에 걸쳐있는 여러 hyem207.tistory.com Spark 01 | Spark란 ? Spark란 " A fast and general engine for large-scael dat..
파이썬으로 배우는 알고리즘 책을 공부하며 풀었던 LeetCode문제들을 재정리해보자. # 문제 설명 225번 Implement Stack using Queues 는 스택을 이용해 다음 연산을 지원하는 큐를 구현하는 문제이다. # 풀이방법 1 (내 풀이) class MyStack: def __init__(self): self.q = deque() def push(self, x: int) -> None: self.q.append(x) def pop(self) -> int: return self.q.pop() def top(self) -> int: return self.q[-1] def empty(self) -> bool: if len(self.q) : return False else : return True..
파이썬으로 배우는 알고리즘 책을 공부하며 풀었던 LeetCode문제들을 재정리해보자. # 문제 설명 622번 Design Circular Queue는 원형 큐를 디자인 하는 문제이다. | 원형 큐 원리 | 앞쪽의 공간이 남아있을때, 끝과 앞쪽을 연결하여 앞쪽으로도 추가할 수 있도록 재활용 가능한 구조이다. # 풀이방법 1 (내 풀이) class MyCircularQueue: def __init__(self, k: int): # print("init") self.q = [None] * k self.q_len = k self.front_p = 0 self.rear_p = 0 def enQueue(self, value: int) -> bool: # print("enQueue : ", self.front_p, ..
파이썬으로 배우는 알고리즘 책을 공부하며 풀었던 LeetCode문제들을 재정리해보자. # 문제 설명 20번 Valid Parentheses는 입력된 괄호 쌍들이 순서에 맞게 잘 닫혀있는지 확인하는 문제이다. # 풀이방법 1 - 재귀 함수 이용하여 reverse (내 풀이) class Solution: def isValid(self, s: str) -> bool: checkStack = [] brackets = { '(' : ')', '{' : '}' , '[' : ']' } # bracket 쌍 보관 for c in s : if c in list(brackets.keys()): checkStack.append(c) # 시작 브라켓은 스택에 저장 else : if checkStack : # 맞지 않은 브라..