단일연결리스트로 주어지는 head가 주어진다. 연결리스트의 각 노드 값은 0 또는 1이다. 즉 리스트는 이진수이다. 십진수를 반환하라.
// 리스트 내부 값을 모두 JOIN한다.
// 조인된 값을 십진수로 변환한다.
/**
* Definition for singly-linked list.
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func getDecimalValue(head *ListNode) int {
b :=
binary, err := strconv.Atoi(strings.Join(head, ""))
if err == nil {
return
}
decimal, err := strconv.ParseInt(binary, 2, 64)
if err == nil {
return
}
return decimal
}
문제 자체를 잘 못 이해했었다. 개념이 부족하니, 공부해서 다시 풀자.
Linked Lists in Go
다 못 읽었다... 너무 어려워보이는데 차근차근 읽어보자.
Golang functions vs methods
글이 좋아서 번역해서 포스팅했다.링크
스택오버플로우 - Whats the difference of functions and methods in Go?
문제를 풀면서 느끼는 점은, 내가 모르는게 무엇인지를 확인할 수 있다는 것이다.
막연하게 '이걸 공부해야지'가 아니라 '역시 이걸 모르니까 못 푸는구나'하고 후들겨 맞는것...
소중한 경험이다.