본문 바로가기
Dart/Dart 100제

Dart 100제 16 ~ 20 (함수와 메서드)

by Maccrey Coding 2024. 7. 21.
반응형

문제 16: 함수 정의하기

문제: 두 개의 정수를 받아서 그 합을 반환하는 함수를 정의하세요.

해결 방법: 두 개의 정수를 매개변수로 받아 합을 반환하는 함수를 정의합니다.

int add(int a, int b) {
  return a + b;
}

void main() {
  int result = add(3, 5);
  print("3과 5의 합은 $result입니다.");
}

 

설명: add 함수는 두 개의 정수를 매개변수로 받아 그 합을 반환합니다. main 함수에서 add 함수를 호출하여 결과를 출력합니다.

 

문제 17: 함수 호출

문제: 문자열을 매개변수로 받아서 출력하는 함수를 호출하세요.

해결 방법: 문자열을 매개변수로 받아 출력하는 함수를 정의하고 호출합니다.

void printMessage(String message) {
  print(message);
}

void main() {
  printMessage("Hello, Dart!");
}

 

설명: printMessage 함수는 문자열을 매개변수로 받아 출력합니다. main 함수에서 printMessage 함수를 호출하여 "Hello, Dart!"를 출력합니다.

 

문제 18: 재귀 함수

문제: 주어진 숫자의 팩토리얼을 계산하는 재귀 함수를 작성하세요.

해결 방법: 숫자의 팩토리얼을 계산하는 재귀 함수를 작성합니다.

int factorial(int n) {
  if (n <= 1) {
    return 1;
  } else {
    return n * factorial(n - 1);
  }
}

void main() {
  int result = factorial(5);
  print("5의 팩토리얼은 $result입니다.");
}

 

설명: factorial 함수는 재귀적으로 호출되어 팩토리얼을 계산합니다. main 함수에서 factorial 함수를 호출하여 5의 팩토리얼을 계산하고 결과를 출력합니다.

 

문제 19: 람다 함수

문제: 두 개의 숫자를 더하는 람다 함수를 정의하고 호출하세요.

해결 방법: 두 개의 숫자를 더하는 람다 함수를 정의하고 호출합니다.

void main() {
  var add = (int a, int b) => a + b;
  int result = add(3, 7);
  print("3과 7의 합은 $result입니다.");
}

 

설명: add는 두 개의 숫자를 더하는 람다 함수입니다. main 함수에서 add 람다 함수를 호출하여 3과 7의 합을 계산하고 결과를 출력합니다.

 

문제 20: 중첩 함수

문제: 함수 안에서 다른 함수를 정의하고 호출하세요.

해결 방법: 함수 안에서 다른 함수를 정의하고 호출합니다.

void countEvenOdd(List<int> numbers) {
  int evenCount = 0;
  int oddCount = 0;

  // 내부 함수 정의
  void checkNumber(int number) {
    if (number % 2 == 0) {
      evenCount++;
    } else {
      oddCount++;
    }
  }

  // 배열의 각 요소에 대해 내부 함수 호출
  for (int number in numbers) {
    checkNumber(number);
  }

  print("짝수의 개수: $evenCount");
  print("홀수의 개수: $oddCount");
}

void main() {
  List<int> numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
  countEvenOdd(numbers);
}

 

설명:

  • countEvenOdd 함수는 숫자 배열을 매개변수로 받아 짝수와 홀수의 개수를 세는 내부 함수 checkNumber를 정의합니다.
  • checkNumber 함수는 주어진 숫자가 짝수인지 홀수인지를 판단하여 각각의 카운터를 증가시킵니다.
  • countEvenOdd 함수 내부에서 배열의 각 요소에 대해 checkNumber 함수를 호출하여 짝수와 홀수의 개수를 셉니다.
  • main 함수에서는 숫자 배열을 정의하고 countEvenOdd 함수를 호출하여 짝수와 홀수의 개수를 출력합니다.



이렇게 Dart 언어를 사용하여 함수와 메서드 문제들을 해결해보았습니다.

각각의 예제를 직접 실행해보면서 함수의 다양한 기능을 이해하고 활용해보세요.

Dart 프로그래밍에 대한 더 많은 내용을 다루며 실력을 쌓아보세요.

반응형