목록etc/exercise (6)
devGYU World

본 예제는 입력받은 수가 암스트롱 수인가 여부를 판별한다. 암스트롱 수란 기재된 것과 같이 각 자릿수 값의 자릿수 개수만큼의 거듭제곱들의 합이 원래 수와 같은지 말이다. 따라서 입력받은 수의 자릿수와 갯수를 구해서 각 값들의 합이 원래 수와 같은지를 판별해야 한다. import 'dart:math'; class ArmstrongNumbers { bool isArmstrongNumber(int? number) { int armNum = 0; //입력받은 수를 String으로 변환하여 Length를 구하면 자릿수를 알 수 있다. //String으로 변환된 수를 split한 뒤 다시 int 타입으로 변환하여 제곱값을 구한다. //모든 과정을 fold() 함수를 통해 누적 값을 구한다. number.toStri..

본 예제는 입력된 문자열을 분석하여 문자열에 포함된 각 알파벳의 개수만큼 지정된 포인트의 합을 반환한다. 예제를 풀기 위해 같은 포인트 값을 가진 알파벳의 리스트를 생성하였고, 입력된 문자열이 리스트의 알파벳에 포함될 때마다 0부터 시작된 합을 누적하여 반환한다. int score(String? str) { int point = 0; List value1 = ["A", "E", "I", "O", "U", "L", "N", "R", "S", "T"]; List value2 = ["D", "G"]; List value3 = ["B", "C", "M", "P"]; List value4 = ["F", "H", "V", "W", "Y"]; List value5 = ["K"]; List value8 = ["J", ..

본 예제는 리스트의 합의 제곱(square of the sum)과 리스트의 제곱의 합(sum of the square)을 구하고 두 합의 차이를 구하는 예제이다. 리스트를 생성하는 함수를 설정 한 뒤 합의 제곱과 제곱의 합을 구하는 함수에서 각각 리스트를 호출하고 조건에 맞춰 pow() 함수를 활용해 제곱의 합을 수행하는 함수를 작성하였고 아래의 결과와 같다. import 'dart:math'; class DifferenceOfSquares { // 리스트를 생성하는 함수 List makeSquare(int number) { List square = []; for (int i = 1; i null) initialValue를 설정하면 화살표 함수 뒤의 연산을 수행한 뒤 previousValue에 누적하여 ..

본 예제는 윤년의 여부를 bool 타입으로 반환하면 되는 예제이다. 모든 윤년은 기재된 조건과 같이 4년마다 돌아오며, 100년마다 나눠지는 형태는 아니지만 400년 마다 나눠져야 한다. 해당 조건들을 반영한 코드는 아래와 같다. class Leap { bool leapYear(int year) { if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) return true; else return false; } } 참고 Leap in Dart on Exercism Can you solve Leap in Dart? Improve your Dart skills with support from our world-class team of mentors. exe..

본 예제는 이름 문자열이 주어졌을 때 이름을 포함한 문자열을 반환하거나, 이름이 주어지지 않았다면 'you'로 대체 되어 문자열을 반환해야 한다. 이름이 주어지지 않았을 때 'you'라는 문자열이 대입되는건 다르게 말하면 초기값을 'you'라고 설정해야 한다고 볼 수 있다. 이처럼 변수의 초기값을 설정한 채 함수에 넣기 위해서는 Dart의 위치적 선택 매개변수를 함수에 넣어주면 된다. // []를 활용하면 매개변수가 위치적 선택 매개변수 임을 나타낸다 String twoFer([String name = 'you']) { return "One for $name, one for me."; } 참고 Two Fer in Dart on Exercism Can you solve Two Fer in Dart? Imp..