-
-
Notifications
You must be signed in to change notification settings - Fork 304
[wozlsla] WEEK 03 solutions #2122
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
Conversation
seungriyou
left a comment
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.
이번 한 주도 고생 많으셨습니다~! ><
|
|
||
| while n != 0: | ||
| count += n & 1 # 1. n의 가장 오른쪽 비트가 1이면 더함 | ||
| n >>= 1 # 2. n의 모든 비트를 오른쪽으로 한 칸 이동 (n을 2로 나눔) |
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.
n & n-1로 오른쪽에서부터 1인 비트를 하나씩 지워가며 개수를 세는 방식인 Brian Kernighan's 알고리즘이라는 방법도 있어 공유드립니다~!
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.
비트연산은 많이 접해본적이 없어서 어색하네요.. 공유 감사합니다. 자료 참고하여 복습하겠습니다!
| - list : O(1) | ||
| - str | ||
| - Python에서 문자열은 불변(Immutable) 자료형 | ||
| - 문자열에 문자를 하나씩 추가할 때마다 새로운 문자열 전체가 생성되고 기존 문자열이 복사되어야 함 O(n^2) |
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.
문제 풀이와 관련있는 파이썬 관련 내용도 적어두신 점이 인상 깊습니다!
저 또한 알고리즘과 파이썬 내부 구현에 대해 함께 공부했었는데요, 그 덕분에 확실히 코드 한 줄 한 줄 적을 때마다 최적화 관점에서 한 번 더 생각해보게 되더라구요 😆
답안 제출 문제
작성자 체크 리스트
In Review로 설정해주세요.검토자 체크 리스트
Important
본인 답안 제출 뿐만 아니라 다른 분 PR 하나 이상을 반드시 검토를 해주셔야 합니다!