반응형
# 배경
프로그래머스 하다가 정렬 간단히 하는 방법을 찾다가 알게 되었다.
# 숫자 오름차순 하는 방법
sort.Ints(배열)
예시
var nums = []int{3,5,6,1,0,66}
fmt.Println("정렬하기 전 :", nums)
sort.Ints(nums)
fmt.Println("정렬하기 후 :", nums)
결과
정렬하기 전 : [3 5 6 1 0 66]
정렬하기 후 : [0 1 3 5 6 66]
# 문자열 오름차순 하는 방법
sort.Strings(문자열배열)
예시
var str = []string{"안녕", "지니", "감기", "조심", "꽃"}
fmt.Println("정렬하기 전 :", str)
sort.Strings(str)
fmt.Println("정렬하기 후 :", str)
결과
정렬하기 전 : [안녕 지니 감기 조심 꽃]
정렬하기 후 : [감기 꽃 안녕 조심 지니]
# 숫자 내림차순 하는 방법
sort.Sort(sort.Reverse(sort.IntSlice(배열)))
예시
var nums2 = []int{3, 5, 6, 1, 0, 66}
fmt.Println("정렬하기 전 :", nums2)
sort.Sort(sort.Reverse(sort.IntSlice(nums2)))
fmt.Println("정렬하기 후 :", nums2)
결과
정렬하기 전 : [3 5 6 1 0 66]
정렬하기 후 : [66 6 5 3 1 0]
# 문자열 내림차순
sort.Sort(sort.Reverse(sort.StringSlice(문자열배열)))
예시
var str = []string{"안녕", "지니", "감기", "조심", "꽃"}
fmt.Println("정렬하기 전 :", str)
sort.Sort(sort.Reverse(sort.StringSlice(str)))
fmt.Println("정렬하기 후 :", str)
결과
정렬하기 전 : [안녕 지니 감기 조심 꽃]
정렬하기 후 : [지니 조심 안녕 꽃 감기]
# 오름차순으로 정렬이 되어 있는 확인 하는 방법
sort.IntsAreSorted(배열)
예시&결과
var nums3 = []int{3, 5, 6, 1, 0, 66}
boolean := sort.IntsAreSorted(nums3)
fmt.Println("결과값 :", boolean) //결과값 : false
var nums7 = []int{1,3,4,6,9}
boolean = sort.IntsAreSorted(nums7)
fmt.Println("결과값 :", boolean) 결과값 : true
# 배열 자리 교체 하는 방법
sort.IntSlice(배열).Swap(바꿀인덱스, 바꿀인덱스)
예시
var nums4 = []int{5, 8, 9, 6, 2, 1}
fmt.Println("정렬하기 전 :", nums4)
sort.IntSlice(nums4).Swap(1, 2)
fmt.Println("정렬하기 후 :", nums4)
결과
정렬하기 전 : [5 8 9 6 2 1]
정렬하기 후 : [5 9 8 6 2 1]
- num4[1]인 8과 num4[2]인 9가 자리가 바꼈음을 알 수 있다.
# 값을 비교해서 boolean 값을 알려주는 함수
sort.IntSlice(배열).Less(비교할인덱스, 비교할인덱스)
예시
var nums4 = []int{5, 8, 9, 6, 2, 1}
boolean = sort.IntSlice(nums4).Less(3, 4) // x[i] < x[j] 값을 알려주는 것
fmt.Println("결과값 :", boolean) //결과값 : false
- num4[3]인 6과 num4[4]인 2을 비교 했을 때 6이 더 큼으로 false이다. (num4[3] < num4[4] 거짓)
# GitHub
https://github.com/YooGenie/go-study/issues/35
반응형
'Study > Go 언어' 카테고리의 다른 글
[golang] go에서 DB연결하는 방법 (0) | 2022.05.10 |
---|---|
[golang] 배열을 string으로 변경하는 방법 (0) | 2022.05.09 |
[golang] 맵(map) 공부하기 (0) | 2022.03.11 |
[golang] string를 잘라서 int64로 배열에 저장하기 (0) | 2022.03.07 |
[golang] 숫자 랜덤으로 생성하기 (0) | 2022.03.05 |