-
Notifications
You must be signed in to change notification settings - Fork 126
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #771 from easyone-jwlee/main
[똘치] Week 3
- Loading branch information
Showing
2 changed files
with
40 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
// 풀이 | ||
// result 가장 오른쪽 값에 num의 값을 추가하면서 왼쪽으로 밀어 reverse 처리. | ||
|
||
// TC | ||
// for문은 무조건 32회만 돌기때문에 O(1) | ||
|
||
// SC | ||
// 추가적인 공간 사용량은 일정하므로 0(1) | ||
|
||
func reverseBits(num uint32) uint32 { | ||
result := uint32(0) | ||
for i := 0; i < 32; i++ { | ||
result <<= 1 | ||
if num%2 == 1 { | ||
result++ | ||
} | ||
num >>= 1 | ||
} | ||
return result | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
// 풀이 | ||
// map의 key에 값, value에 index를 넣어, target-num이 map에 존재할 때를 찾기. | ||
// 오직 하나의 답만 무조건 존재한다고 했기 때문에 찾자마자 return. | ||
|
||
// TC | ||
// 가장 마지막 인덱스까지 가서야 값을 구할 수 있었다고 하면, nums의 길이만큼 for문을 한바퀴 돌기때문에 O(n). | ||
|
||
// SC | ||
// 중복없이 마지막 인덱스까지 가서 값을 구한다면 들어오는 nums의 길이만큼 map도 공간을 차지하게 되므로 O(n). | ||
|
||
func twoSum(nums []int, target int) []int { | ||
m := make(map[int]int) | ||
for i, num := range nums { | ||
if index, ok := m[target-num]; ok { | ||
return []int{index, i} | ||
} | ||
m[num] = i | ||
} | ||
return []int{0, 0} | ||
} |