Skip to content
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

[친환경사과] Week 3 #794

Merged
merged 3 commits into from
Dec 29, 2024
Merged

Conversation

EcoFriendlyAppleSu
Copy link
Contributor

@EcoFriendlyAppleSu EcoFriendlyAppleSu commented Dec 27, 2024

답안 제출 문제

체크 리스트

  • 우측 메뉴에서 PR을 Projects에 추가해주세요.
  • Projects의 오른쪽 버튼(▼)을 눌러 확장한 뒤, Week를 현재 주차로 설정해주세요.
  • 바로 앞에 PR을 열어주신 분을 코드 검토자로 지정해주세요.
  • 문제를 모두 푸시면 프로젝트에서 StatusIn Review로 설정해주세요.
  • 코드 검토자 1분 이상으로부터 승인을 받으셨다면 PR을 병합해주세요.

* 공간 복잡도: O(1)
* -> 결과를 저장하는 result, 배열의 index를 가리키는 indices는 두 개의 값을 담기 때문에 O(1)
*/
fun twoSum(nums: IntArray, target: Int): IntArray {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

배열 대신에 key, value 값으로 메모이제이션을 활용해서 시간 복잡도를 줄이는 방법도 고민해보면 좋을 거 같습니다~
입력 nums 파라미터를 한번만 순회하면서 요소값을 key로, 요소의 인덱스를 value로 저장할 수 있지 않을까요?

result = (result shl 1) or (input and 1)
// 입력 비트를 오른쪽으로 이동
input = input shr 1
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

코틀린에는 shl, shr을 통해 비트이동이 가능하네요, 좋은 지식 하나 알고 갑니다^^

val eachBitValue = 2.0.pow(i).toInt()
if (fullBitString[i] == '0') {
continue
} else {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

26라인의 코드는 if 조건을 타지 않는 경우에 모두 실행되기 때문에,
가독성 측면에서 굳이 else 범위를 정의하지 않아도 되보입니다

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if (fullBitString[i] == '1') result += eachBitValue
로 가독성 높게 구현할 수 있겠네요! 감사합니다.!

Copy link
Contributor

@jinah92 jinah92 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

연말에 문제 풀이하느라 고생하셨습니다. 조금 더 고민해보셔서 최적화도 시도해보시면 좋을 것 같습니다.
PR approve는 해두겠습니다.

@SamTheKorean SamTheKorean merged commit 08a3376 into DaleStudy:main Dec 29, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Completed
Development

Successfully merging this pull request may close these issues.

3 participants