Comments (2)
좋은 알고리즘이네요. 수고하셨습니다.
제가 볼때는 문제 없이 잘 동작하는거 같네요.
당연한 얘기지만 책에 있는 풀이는 하나의 예 일 뿐이고 다른 방법으로도 얼마든지 풀이가 가능합니다. 그러나, 책에 있는 풀이들은 여러가지 방식으로 시도해보고 가능하면 최적의 풀이를 고민하며 찾아낸 방식이라 그 보다 더 좋은 방법을 찾기는 쉽지 않을거 같네요.
이 풀이 또한 가장 높은 막대를 기준으로 한다는 점에서 투 포인터와 유사한 접근으로 보이는데, 책에서도 투 포인터 풀이가 있습니다. https://github.com/onlybooks/algorithm-interview/blob/master/3-linear-data-structures/ch07/8-1.py 이 풀이에 비해 코드도 길고, 시간 복잡도도 더 높아 보여요(최대 길이를 찾고, 리스트를 뒤집는 등).
좀 더 최적화를 해본다면 두 번째 리스트는 뒤집지 말고 아예 뒤에서 부터 왼쪽으로 이동하는 형태로 풀이하면 만약 입력값이 엄청나게 큰 목록이라도 좀 더 효율적으로 처리할 수 있을거 같아요.
left, right = len(right_height) - 2, len(right_height) -1
while
if
left -= 1
else
left, right = left - 1, left
이외에 다른 부분은 다 좋은거 같습니다. 알고리즘도 직관적이고 좋은 풀이네요!
from python-algorithm-interview.
좋은 알고리즘이네요. 수고하셨습니다.
제가 볼때는 문제 없이 잘 동작하는거 같네요.당연한 얘기지만 책에 있는 풀이는 하나의 예 일 뿐이고 다른 방법으로도 얼마든지 풀이가 가능합니다. 그러나, 책에 있는 풀이들은 여러가지 방식으로 시도해보고 가능하면 최적의 풀이를 고민하며 찾아낸 방식이라 그 보다 더 좋은 방법을 찾기는 쉽지 않을거 같네요.
이 풀이 또한 가장 높은 막대를 기준으로 한다는 점에서 투 포인터와 유사한 접근으로 보이는데, 책에서도 투 포인터 풀이가 있습니다. https://github.com/onlybooks/algorithm-interview/blob/master/3-linear-data-structures/ch07/8-1.py 이 풀이에 비해 코드도 길고, 시간 복잡도도 더 높아 보여요(최대 길이를 찾고, 리스트를 뒤집는 등).
좀 더 최적화를 해본다면 두 번째 리스트는 뒤집지 말고 아예 뒤에서 부터 왼쪽으로 이동하는 형태로 풀이하면 만약 입력값이 엄청나게 큰 목록이라도 좀 더 효율적으로 처리할 수 있을거 같아요.
left, right = len(right_height) - 2, len(right_height) -1 while if left -= 1 else left, right = left - 1, left이외에 다른 부분은 다 좋은거 같습니다. 알고리즘도 직관적이고 좋은 풀이네요!
감사합니다. 뒤집지 않고 해볼려고했는데 잘 떠오르지 않아서 고민이였는데 한번 더 생각해보겠습니다. 책의 풀이도 열심히 보고 있습니다. 바쁘실텐데 답변 해주셔셔 감사합니다. !
from python-algorithm-interview.
Related Issues (20)
- p257 스택을 이용한 큐 구현 HOT 1
- p.161 전체 코드 질문입니다. HOT 1
- p.233 페이지 18번 홀짝 연결 리스트 문제 관련 문의 입니다. HOT 1
- 67번 문제 질문입니다(leetcode 349) HOT 2
- 13번 팰린드롬 연결리스트 문제 runtime HOT 1
- p450 힙 구현에서 _percolate_up 함수 분기 HOT 1
- p. 578 문법 질문 드립니다 HOT 1
- p.696 5번줄 오타 HOT 1
- p. 581: `77. 가장 긴 반복 문자 대체` - 좀 더 가독성이 높은 코드 질문 HOT 1
- 26번 원형 데크 디자인 문제 깃허브 코드 오타
- 57번 문제 팰린드롬 페어 HOT 1
- 60번 1번 풀이 질문드립니다! HOT 1
- p. 307: `31. 상위 K 빈도 요소` - 최적화 & 파이써닉한 코드 질문 HOT 2
- P640 오타 HOT 1
- P391페이지 6번째줄 질문드립니다 HOT 1
- 31번 상위 K 빈도 요소 HOT 1
- 60번 삽입정렬 리스트 1번 풀이 질문 HOT 1
- [49]Group Anagrams 풀이 질문 HOT 1
- 이진 힙 vs 이진 탐색 트리 HOT 1
- 612p, 615p 83. 과반수 엘리먼트 구하는 문제. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from python-algorithm-interview.