Dart 에서 람다함수는
- 함수 { } 에서 {} 대신 ⇒ 으로 기호를 변경한 것을 말한다.
- (매개변수) ⇒ 단 하나의 스테이트먼트.
- 함수에 전달할 매개변수는 있어도 되고 없어도 된다.
코딩연습
void main() {
final numbers = <double>[10,2,5,0.5];
//람다함수 사용
final result = numbers.reduce((value,element) => value + element);
//익명함수 사용
final aResult = numbers.reduce((value, element) {
return value + element;
});
print(result); //17.5
print(aResult); //17.5
}
☞ 백준 1181 람다함수 연습 문제 풀이
- 백준 사이트에는 컴파일 언어에 Dart 가 없다.
- 그래서, 코딩 연습용
중복제거 set(), 정렬 sort(), 비교 compareTo(), 반복문 forEach() 의 Dart 코딩 연습
☞ 백준 문제 사이트 : https://www.acmicpc.net/problem/1181
import 'dart:io';
void main() {
int? N = int.parse(stdin.readLineSync()!);
var strList = [ for (var i=0; i<N; i++) stdin.readLineSync()! ];
//중복제거 set() 사용
List<String> pp = strList.toSet().toList();
//길이가 짧은것부터 사전순으로 정렬이 문제이기때문에
//먼저 사전순으로 정렬
pp.sort((a, b) => a.compareTo(b));
//이후 길이가 짧은 것 순으로 정렬
pp.sort((a, b) => a.length.compareTo(b.length));
//최종 값 출력
pp.forEach((a) => print(a));
/*
익명함수 {} 로 작성해도 된다.
pp.forEach((a) {
print(a);
});
*/
}
/*
13
but
i
wont
hesitate
no
more
no
more
it
cannot
wait
im
yours
----------
i
im
it
no
but
more
wait
wont
yours
cannot
hesitate
*/
☞ 파이썬 람다함수 이전 글은 아래 링크
'코딩라이브러리 > Dart' 카테고리의 다른 글
[Dart] for, while 반복문 (with 백준 2446, 2522) (0) | 2024.07.18 |
---|---|
[Dart] if, swich 조건문 (with 백준 1330) (0) | 2024.06.18 |
dart 은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치파일이 아닙니다 (with 안드로이드 스튜디오) (0) | 2024.06.12 |
[Dart] 코딩 연습 입출력 코드 방법 (0) | 2024.06.10 |
[Dart] 변수 종류, 널(null) 변수 디폴트 처리 (1) | 2024.06.04 |