본문 바로가기
코딩

Dart 문제를 풀어보자!

by 김유로01 2023. 3. 26.
728x90
반응형

1. Given a non-empty array of integers, return the result of multiplying the values together in order.

- Ex) [1, 2, 3, 4] => 1 * 2 * 3 * 4 = 24

int grow(List<int> arr) {
  // 뭘까요?
}

 

2. Given a non-negative integer, 3 for example, return a string with a murmur: "1 sheep...2 sheep...3 sheep...". Input will always be valid, i.e no negative integers.

String countSheep(numb) {
	// 뭘까요?
}

 

3. Complete the method that takes a boolean value and return a "Yes" string for true, or a "No" string for false.

String bool_to_word(bool boolean) {
  // 뭘까요?
}

 


정답

1번 정답 :

int grow(List<int> arr) {
  return arr.reduce((a,b) => a * b);
}

- reduce method 함수는?

fold와 크게 차이가 없고, fold는 시작값 0을 지정하는데, reduce에서는 생략한다.

void main() {
	List<int> numbers = [0, 1, 2, 3, 4, 5];
    
    int sum = numbers.reduce((total, element) {
    	return total + element;
    });
    print(sum); // 15

 

2번 정답:

tring countSheep(numb) {
  var result = '';
  for (int i = 1; i <= numb; i++) {
    result += '${i} sheep...';
  }
  
  return result;
}

 

3번 정답

String bool_to_word(bool boolean) => boolean ? "Yes" : "No";

 

 

 

728x90
반응형

댓글