반응형
문제 설명
문자열 s 안에는 공백으로 구분된 숫자들이 저장되어 있습니다. 이 문자열에서 나타나는 숫자 중 최소값과 최대값을 찾아 "(최소값) (최대값)" 형태의 문자열을 반환하는 함수 solution을 구현하는 문제입니다.
예를 들어, 문자열 s가 "1 2 3 4" 라면 "1 4"를 리턴하고, "-1 -2 -3 -4" 라면 "-4 -1"을 리턴하면 됩니다.
제한 조건
s에는 둘 이상의 정수가 공백으로 구분되어 있습니다.
문제 해결
Go 언어를 사용하여 이 문제를 해결하였습니다. 코드는 다음과 같습니다.
package main
import (
"fmt"
"sort"
"strconv"
"strings"
)
func solution(s string) string {
arrStr := strings.Split(s, " ")
arrInt := []int{}
for _, str := range arrStr {
num, _ := strconv.Atoi(str)
arrInt = append(arrInt, num)
}
sort.Ints(arrInt)
min := strconv.Itoa(arrInt[0])
max := strconv.Itoa(arrInt[len(arrInt)-1])
return min + " " + max
}
func main() {
r := solution("1 2 3 4")
fmt.Println(r)
r = solution("-1 -2 -3 -4")
fmt.Println(r)
r = solution("-1 -1")
fmt.Println(r)
}
코드 설명
1. 먼저 strings.Split 함수를 사용하여 공백을 기준으로 문자열을 분리합니다.
2. 분리된 문자열을 숫자로 변환하여 arrInt라는 슬라이스에 추가합니다.
3. sort.Ints 함수를 사용하여 arrInt 슬라이스를 정렬합니다.
4. 정렬된 슬라이스에서 첫 번째 값과 마지막 값을 찾아 문자열로 변환한 뒤, 둘을 공백으로 구분하여 반환합니다.
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스] JadenCase 문자열 만들기 with Golang (0) | 2023.08.30 |
---|---|
[프로그래머스] 전국 대회 선발 고사 with golang (0) | 2023.08.26 |
[프로그래머스] 문자열 암호화 문제 풀기 with golang (0) | 2023.08.26 |