유연한 수학 함수 설계

GolangBeginner
지금 연습하기

소개

이번 챌린지에서 여러분은 입력 데이터의 크기에 상관없이 여러 계산을 동시에 수행할 수 있는 유연한 수학 함수를 설계해야 합니다. 이 함수는 정해지지 않은 개수의 정수를 입력받아 그 합계, 최댓값, 그리고 최솟값을 반환해야 합니다. 이러한 다목적 함수는 연구자들이 작업 과정에서 가변적인 수학적 도구를 필요로 하는 과학 연산 분야에서 매우 중요하게 활용됩니다.

유연한 수학 함수 설계

과학 연산 분야에서는 다양한 입력 크기를 처리하고 여러 계산을 한 번에 수행할 수 있는 다재다능한 수학 함수가 자주 필요합니다. 여러분의 과제는 이러한 요구 사항을 충족하는 유연한 수학 함수를 만드는 것입니다.

과제

  • 가변적인 개수의 정수를 입력받는 calculateMath 함수를 작성하세요.
  • 이 함수는 입력된 숫자들의 합계 (sum), 최댓값 (maximum), 최솟값 (minimum) 이라는 세 가지 값을 반환해야 합니다.
  • math_calculator.go 파일에 해당 함수를 구현하세요.
  • 다양한 개수의 입력 인자에 대해 함수가 정상적으로 작동하는지 확인하세요.

요구 사항

  • ~/project/math_calculator.go 파일을 사용하세요.
  • Go 언어의 가변 매개변수 (variadic parameter) 기능을 사용하여 함수를 구현하세요.
  • 함수의 이름은 반드시 calculateMath여야 합니다.
  • 최소 1 개에서 5 개 사이의 입력 숫자가 들어오는 경우를 처리해야 합니다.
  • 총합, 최댓값, 최솟값의 세 가지 값을 반환하세요.
  • 예외적인 상황에 대비해 적절한 처리를 포함하세요.

예시

main 함수를 실행하여 다양한 입력값으로 calculateMath 함수를 테스트해 볼 수 있습니다.

go run math_calculator.go
// 예시 1
result1, max1, min1 := calculateMath(10, 20, 30)
// 예상 출력: sum = 60, max = 30, min = 10

// 예시 2
result2, max2, min2 := calculateMath(5, 15, 25, 35)
// 예상 출력: sum = 80, max = 35, min = 5

힌트

  • 가변 매개변수를 위해 ...int 구문을 사용하세요.
  • 입력값들을 순회하기 위해 range 사용을 고려해 보세요.
  • 입력 데이터의 크기가 달라지는 상황을 염두에 두어야 합니다.
  • 입력된 값의 개수를 확인하려면 len()과 같은 내장 함수를 활용하세요.

요약

요약하자면, 이번 챌린지는 가변적인 개수의 정수 입력을 받아 합계, 최댓값, 최솟값을 반환하는 유연한 Go 함수를 작성하는 것이었습니다. 이 함수는 최소 1 개에서 5 개 이상의 입력 상황을 처리할 수 있어야 하며, 예외 상황에 대한 적절한 처리가 포함되어야 합니다. 최종 목표는 과학 연산 연구자들의 다양한 요구를 충족할 수 있는 다목적 수학 도구를 개발하는 것이었습니다.

✨ 솔루션 확인 및 연습