본문 바로가기
Dart/Dart 100제

Dart 100제 26 ~ 30 (Map와 Set)

by Maccrey Coding 2024. 7. 24.
728x90
반응형

 

26. Map 생성하기

문제: 키와 값으로 이루어진 맵을 생성하고 출력하세요.

 

void main() {
  // Map 생성
  Map<String, int> studentGrades = {
    'Alice': 85,
    'Bob': 90,
    'Charlie': 78
  };

  // Map 출력
  print('학생들의 성적: $studentGrades');
}

위의 코드에서 Map<String, int>는 문자열 키와 정수 값을 가지는 맵을 정의합니다.

studentGrades라는 이름의 맵을 생성하고, 세 명의 학생과 그들의 성적을 저장합니다.

print 함수를 사용하여 맵을 출력하면, 각 학생의 성적이 포함된 맵이 화면에 표시됩니다.

27. Map에서 값 찾기

문제: 맵에서 특정 키의 값을 찾고 출력하세요.

 

void main() {
  // Map 생성
  Map<String, int> studentGrades = {
    'Alice': 85,
    'Bob': 90,
    'Charlie': 78
  };

  // 특정 키의 값 찾기
  String key = 'Bob';
  int? grade = studentGrades[key];

  // 결과 출력
  if (grade != null) {
    print('$key의 성적: $grade');
  } else {
    print('$key는 Map에 존재하지 않습니다.');
  }
}

위 코드에서는 studentGrades 맵에서 'Bob'이라는 키에 해당하는 값을 찾습니다.

studentGrades[key]를 통해 값에 접근할 수 있으며, 이 값이 null이 아닌 경우 성적을 출력합니다.

만약 해당 키가 존재하지 않으면, 그에 대한 메시지를 출력합니다.

28. Set 생성하기

문제: 중복되지 않는 값으로 이루어진 셋을 생성하고 출력하세요.

 

void main() {
  // Set 생성
  Set<String> uniqueFruits = {'Apple', 'Banana', 'Cherry'};

  // Set 출력
  print('과일 Set: $uniqueFruits');
}

Set<String> 타입으로 uniqueFruits라는 이름의 셋을 생성합니다. 셋은 중복된 값을 허용하지 않으며, 생성 시점에 정의된 값을 가진 셋을 출력합니다.

29. 셋에 값 추가하기

문제: Set에 새로운 값을 추가하고 출력하세요.

 

void main() {
  // Set 생성
  Set<String> uniqueFruits = {'Apple', 'Banana', 'Cherry'};

  // Set에 값 추가
  uniqueFruits.add('Orange');

  // 결과 출력
  print('업데이트된 과일 Set: $uniqueFruits');
}

add 메서드를 사용하여 'Orange'라는 값을 uniqueFruits 셋에 추가합니다.

셋은 중복된 값을 자동으로 거부하므로, 새로운 값만 추가됩니다.

추가된 후의 셋을 출력하여 결과를 확인합니다.

30 Set의 값 삭제하기

문제: Set에서 특정 값을 삭제하고 출력하세요.

 

void main() {
  // Set 생성
  Set<String> uniqueFruits = {'Apple', 'Banana', 'Cherry', 'Orange'};

  // Set에서 값 삭제
  uniqueFruits.remove('Banana');

  // 결과 출력
  print('값 삭제 후 과일 Set: $uniqueFruits');
}

remove 메서드를 사용하여 uniqueFruits 셋에서 'Banana' 값을 삭제합니다. 삭제 후의 셋을 출력하여 변경된 내용을 확인합니다.

 

위의 예제들은 Dart 언어를 사용하여 맵과 셋을 생성하고 조작하는 기본적인 방법을 보여줍니다.

맵은 키와 값의 쌍을 저장하는데 유용하며, 셋은 중복되지 않는 값을 저장하는데 적합합니다.

이러한 데이터 구조를 잘 활용하면 더 효율적이고 유연한 코드를 작성할 수 있습니다.

728x90
반응형