-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[forest000014] Week 6 #907
base: main
Are you sure you want to change the base?
Conversation
Design Add and Search Words Data Structure 문제에서, AlgoDale 풀이의 풀이 3(Trie 2)과 동일한 접근으로 풀었습니다 (제가 맞게 이해했다면요 😅) AlgoDale 풀이에서는 시간 복잡도를 O(26^w)라고 적어주셨는데요, 저는 |
Container With Most Water 문제는 열심히 고민해서 나름대로 잘 풀었다고(O(nlogn)으로) 생각했는데, 풀이를 보니 O(n)의 접근이 가능했었네요 (조금은 허탈..ㅎㅎ) |
(셀프 피드백) 다른 분 (bus710님) 코드를 보니, Valid Parentheses 문제에서 문자열 길이가 홀수인 경우는 굳이 탐색할 필요 없이 false로 early return하면 더 좋을 것 같네요 |
(셀프 피드백) 호돌이님 코드👍를 보고, Design Add and Search Words Data Structure 문제의 addWord() 구현에서, curr.ends = true로 세팅하는 코드를 좀 더 간결하게 수정했습니다. |
*/ | ||
class Solution { | ||
public boolean isValid(String s) { | ||
Stack<Character> st = new Stack<>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
안녕하세요! 제가 자바를 거의 써보지 않아서 리뷰가 정확하지 않을 수 있는 점 양해 부탁드립니다 :) 꼭 모두 고치지 않으셔도 되고, 참고만 해주세요!
혹시 ArrayDeque를 사용하면 Stack보다 성능이 더 나아질까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ArrayDeque은 잘 몰랐는데, 말씀해주신 덕분에 좀 찾아보았습니다.
시간 복잡도 측면에서는 ArrayDeque이나 Stack 모두 push/pop이 O(1)이고, 공간 복잡도도 O(n)으로 동일한 것 같습니다.
(capacity가 가득 찼을 때 특별한 설정이 없으면 둘 다 2배씩 resize하기 때문에, push()의 시간 복잡도가 amortized O(1)이 된다고 이해했습니다.)
다만, Stack은 Vector를 상속받았는데, Vector는 동기화 때문에 주요 메소드들의 속도가 좀 더 느리다고 하네요. 다음 번에 Stack 쓸 일이 있을 땐, ArrayDeque을 써봐야겠습니다 👍
} | ||
|
||
for (char ch : s.toCharArray()) { | ||
if (ch == '(' || ch == '{' || ch == '[') { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
각 pair들을 담은 Map을 사용하면 조건문을 많이 줄일 수 있을 것 같습니다.
Container With Most Water를 먼저 풀고 나서 Longest Increasing Subsequence를 풀어서인지, 왠지 비슷한 결의 풀이가 나왔네요. 인덱스 트리를 사용했는데, 구현량이 좀 있다보니 실전에서 실수 없이 짤 수 있을지 고민이 됩니다...ㅎㅎ |
답안 제출 문제
체크 리스트
In Review
로 설정해주세요.