-
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
[mangodm-web] Week 01 Solutions #320
Conversation
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.
나머지 문제를 다 푸신후, 해당 문제를 O(n)으로 푸는 방법도 고민해보시면 좋을 것 같습니다 :)
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.
혹시 이진연산에 대해서 배운적 있으실까요? 해당 방법으로 문제를 푼다면 해결하실 수 있을겁니다 😄
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.
수고 많으셨습니다! 4문제 푸신 것도 잘 하신 거에요. 모임 전에 PR 병합 부탁드리겠습니다.
문제 풀이 현황
문제별 내용 정리
안녕하세요, 문제 풀이 내용을 간단하게 정리해보았습니다.
많은 피드백 부탁 드립니다.. 🙇♀️
문제 #252 번은 좀 더 고민해보고 싶어서 백로그로 남겨두고, 다음 PR에 같이 올려보겠습니다..!
01. Contains Duplicate
접근 방법
주어진 배열을 Set으로 변환한 후, 배열의 길이와 Set의 길이를 비교하여 중복되는 요소가 있는지를 판단하였습니다.
알고리즘 분석
주어진 배열의 길이를 n이라 할때,
02. Number of 1 Bits
접근 방법
주어진 정수(
n
)의 각 비트를 확인하여 1인 비트의 개수를 재귀적으로 세는 함수를 작성하였습니다.1의 개수는
acc
라는 변수에 누적한 뒤, 최종적으로 반환합니다.알고리즘 분석
주어진 정수를 n이라 할 때,
n
을 2로 나뉘면서 재귀적으로 호출하므로, 매 호출마다n
의 크기는 절반으로 줄어듭니다.03. Top K Frequent Elements
접근 방법
각 요소의 빈도를 계산하고, 이 빈도를 인덱스로 사용하는 일종의 버킷을 만들어 문제를 해결했습니다.
가장 많이 등장하는 k를 추출해야 하기 때문에 빈도가 높은 순서대로 버킷을 조회하여 효율성을 높였습니다.
알고리즘 분석
주어진 숫자 배열(
nums
)의 길이를 n이라 할 때,05. Palindromic Substrings
접근 방법
팰린드롬은 중심 문자를 기준으로 좌, 우가 동일한 문자열을 말합니다.
다만, 팰린드롬인지 판별할 문자열의 길이가 홀수인지, 짝수인지에 따라서 중심 문자의 기준이 달라집니다.
aba
=>b
가 중심abba
=>bb
가 중심이러한 특성을 이용하여 중심 문자를 기준으로 좌, 우로 확장해나가면서 팰린드롬의 총 개수를 파악하도록 하였습니다.
알고리즘 분석
주어진 문자열(
s
)의 길이를 n이라 할 때,countPalindrome
함수는 최악의 경우 O(n)번만큼 연산이 이뤄집니다. 이 함수는 문자열의 길이(n)만큼의 순회를 하면서 호출되기 때문에 시간 복잡도는 O(n^2)라고 할 수 있습니다.total_count
변수만 추가적으로 사용되기 때문에 공간 복잡도는 O(1)이라고 판단하였습니다.