코딩 테스트에서 자주 사용하는 Golang 문법

Divan·2022년 12월 14일
3
post-custom-banner

프로그래머스 문제를 풀면서 정리한것

1. Map

string을 loop를 돌면서 한글자식 Count 가능


m := make(map[rune]int)
s := "test string"

for _, c := range s {
	m[c] = m[c] + 1
}

2. Key가 두개인 Map

m := make(map[int]map[int]int)
//초기화 법
for _, t := range [][]array {
    if(m[t[0]] == nil){
        //초기화
        m[t[0]] = make(map[int]int)
    }
    m[t[0]][t[1]] =}

3. Sort

기본적으로 아래와 같이 sort가능

sort.int()
sort.strings()
sort.searchStrings()

4. 값으로 Sort


// Node 수가 많은 순으로 정렬 
keys := make([]int, 0, len(nodes))
for key := range nodes {
	keys = append(keys, key)
}
sort.SliceStable(keys, func(i, j int) bool {
	return nodes[keys[i]].Count > nodes[keys[j]].Count
})

5. 시간 Parsing

time.Parse(format, dateString)
// Split 사용
str := strings.Split(slice[0], ":")
hour, _ := strconv.Atoi(str[0])
min, _ := strconv.Atoi(str[1])

6. 특정 위치 제거하기

// 제거하고자하는 위치는 i
other[:i]+other[i+1:]

7. string -> int

i, _ := strconv.Atoi(numberString)

8. golang은 그냥 슬라이스하면 주소 참조가 됨

아래와 같이 copy하면 값을 복사한다.

slice := append([]int{}, array[cmd[0]-1:cmd[1]]...)

9. Contain 유무 확인

strings.Contains("GeeksforGeeks", "for")
strings.HasPrefix("GeeksforGeeks", "Welcome")

10. 특정위치에 추가

intArr := []int{1, 2, 3, 4, 5, 6, 7}
newIntArr := append(intArr[:2], 6)
newIntArr = append(newIntArr, intArr[3:]...)
profile
하루 25분의 투자
post-custom-banner

0개의 댓글