목록etc (7)
devGYU World
솔리디티를 통해 간단한 예제를 작성하고자 한다. 자판기 시스템을 구현할 것이며 코드는 아래의 조건을 충족해야 한다. 1. 음료수의 초기 수량은 10개이다. 2. 음료수의 가격은 1 eth 로 고정한다. 3. 음료수가 모두 매진되면 "Sold out" 이벤트가 발생한다. 4. 처음 컨트랙트를 배포한 관리자 주소만 음료수 재고를 조정 가능하다. 5. 관리자 주소만 현재 음료수의 재고를 확인할 수 있다. 6. 관리자 주소만 현재 자판기에 입금된 잔액(balance)를 확인하고 인출할 수 있다. 상기의 조건을 만족하는 전체 코드는 아래와 같다. // SPDX-License-Identifier: MIT License pragma solidity >=0.7.0 uint8) itemStock; event Someon..

본 예제는 입력받은 수가 암스트롱 수인가 여부를 판별한다. 암스트롱 수란 기재된 것과 같이 각 자릿수 값의 자릿수 개수만큼의 거듭제곱들의 합이 원래 수와 같은지 말이다. 따라서 입력받은 수의 자릿수와 갯수를 구해서 각 값들의 합이 원래 수와 같은지를 판별해야 한다. 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..