golang을 공부하면서, 동시에 알고리즘 문제풀기
링크
https://leetcode.com/problems/two-sum/
func twoSum(nums []int, target int) []int {
sum := 0
var v[len(nums)] int = nums
target := 0
for i := 0; i < nums.len; i++ {
for j := 0; j < nums.len; j++ {
sum = nums[i] + nums[j]
if sum == target {
return sum
}
}
}
}
틀린 이유
일단 문법공부가 전혀 안 되어있다... 부끄럽지만 남겨놔야지. (2020.03.02에 해결되었습니다. 해결한 글)
아래는 에러내용
Line 3: Char 10: non-constant array bound len(nums) (solution.go)
Line 4: Char 12: no new variables on left side of := (solution.go)
Line 5: Char 25: nums.len undefined (type []int has no field or method len) (solution.go)
Line 6: Char 29: nums.len undefined (type []int has no field or method len) (solution.go)
Line 9: Char 17: cannot use sum (type int) as type []int in return argument (solution.go)
Line 13: Char 1: missing return at end of function (solution.go)
func twoSum(nums []int, target int) []int {
m := make(map[int]int)
for i, n := range nums {
_, prs := m[n]
if prs {
return []int{m[n], i}
} else {
m[target-n] = i
}
}
return nil
}
솔직히 이걸 봐도 아직 무슨 말인지 잘 모르겠다.
이걸 이해하게 되는날 진짜 기쁠것 같다. 성장하자.
http://golang.site/go/article/13-Go-%EC%BB%AC%EB%A0%89%EC%85%98---Slice
http://golang.site/go/article/12-Go-%EC%BB%AC%EB%A0%89%EC%85%98---%EB%B0%B0%EC%97%B4
http://www.codingnuri.com/golang-book/6.html