유연한 수학 함수 설계

GolangBeginner
지금 연습하기

소개

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

이 콘텐츠는 챌린지입니다. 가이드가 제공되는 실습과 달리, 학습 단계를 따라가는 것이 아니라 스스로 과제를 해결해야 합니다. 챌린지는 다소 어려울 수 있습니다. 해결이 어렵다면 Labby 와 논의하거나 솔루션을 확인하세요. 통계에 따르면 이 챌린지는 초급 수준이며, 100%의 통과율과 학습자들로부터 100%의 긍정적인 평가를 기록하고 있습니다.

유연한 수학 함수 설계

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

과제

  • 가변적인 개수의 정수를 입력받는 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 개 이상의 입력 상황을 처리할 수 있어야 하며, 예외 상황에 대한 적절한 처리가 포함되어야 합니다. 최종 목표는 과학 연산 연구자들의 다양한 요구를 충족할 수 있는 다목적 수학 도구를 개발하는 것이었습니다.