-
Notifications
You must be signed in to change notification settings - Fork 120
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
[TONY] WEEK 02 Solutions #338
Conversation
TonyKim9401
commented
Aug 18, 2024
- Valid Anagram #218
- Counting Bits #233
- Encode and Decode Strings #238
- Construct Binary Tree From Preorder And Inorder Traversal #253
- Decode Ways #268
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.
Design an algorithm to encode a list of strings to a string. The encoded string is then sent over the network and is decoded back to the original list of strings.
통과는 되었어도 문제의 출제 의도에서 벗어난 풀이인 것 같습니다. : )
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.
아하핫.... 출제 의도대로 풀려면 어떻게 하는게 좋을지 조금 더 구체적인 조언 부탁드려도 괜찮을까요?
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.
현재 작성해주신 코드는 인코딩 결과가 독립적이지 않습니다.
메모리(Map)를 거쳐 encode/decode를 진행하도록 구현되어있는데
네트워크를 통해서 진행될 경우에는 이런식으로 공유되는 메모리를 사용할 수 없습니다.
encode에서는 원본 문자열의 내용이 복원될 수 있는 형태로 가공해야 하고,
decode에서는 가공된 문자열을 원본 문자열로 복구할 수 있어야 합니다.
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.
말씀주신 대로 공유 메모리를 사용하지 않고 각 메소드 단위에서 처리할 수 있도록 수정했습니다!
리뷰 무척이나 감사 드립니다!! 👍
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.
안녕하세요.
풀이 잘 보았습니다 : )
해당 방법에는 str이 " " 와 같이 공백일경우 통과되지 못하는 케이스가 발생됩니다.
예시 인풋은 다음과 같습니다. List.of(" ", " ", " ")
이렇게 인풋이 들어오면 아웃풋으로는 빈 list 가 나오게 되니 원본과 차이가 발생되게 됩니다.
이 문제는 공백이 아닌 다른 문자로 split을 시도하여도 이슈가 발생됩니다.
따라서 약간의 추가 구현이 필요합니다.
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.
@dev-jonghoonpark 님, 피드백이 너무 좋네여! 🫰
@TonyKim9401 님, 그래도 명색이 리트코드 Medium 난이도 문제인데, 너무 과소평가하신 게 아닐까요? 😉
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.
@DaleSeo @dev-jonghoonpark @taekwon-dev
해당 문제 피드백 반영하여 다시 풀었습니다!
막막했었는데 좋은 피드백 주셔서 너무나도 감사합니다 ㅎㅎ!! 👍
// space complexity: O(n) | ||
int[] output = new int[n+1]; | ||
int num = 0; | ||
while (num <= n) output[num] = Integer.bitCount(num++); |
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.
Integer.bitCount
오호, 이런 게 있었군요!
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.
해당 숫자의 bit에서 1의 갯수를 구해주는 내장 함수입니다ㅎㅎ
잘 쓰시면 도움 되실꺼에요. 시간 복잡도는 O(1) 입니다!
c1f9078
to
fd3455a
Compare