한 눈에 끝내는 고랭 기초
    • 01
      시작하기에 앞서
    • 강의대상
      Go란?
      실습 환경 구축 - 구름IDE
      Hello goorm! 출력해보기
    • 02
      변수와 상수
    • 콘솔 출력 함수의 기본
      변수의 선언과 초기화
      상수의 선언과 초기화
      간단한 덧셈
      잘못된 신상정보
    • 03
      연산자
    • 연산자 종류
      연산자 우선순위
      콘솔 입력 함수의 기본
      간단한 덧셈과 곱셈
      몫과 나머지
    • 04
      자료형
    • 자료형의 종류와 특징
      문자열의 표현
      자료형의 변환
      강제 형 변환
    • 05
      콘솔 출력과 입력 함수
    • 콘솔 출력 함수(Print)
      콘솔 입력 함수(Scan)
      정돈된 표
      신상정보 입력과 출력
    • 06
      반복문 - for
    • 오로지 for
      구구단
      빛나는 이등변삼각형
    • 07
      조건문 - if/else
    • 조건에 따른 실행과 흐름 분기
      7과 9의 배수
      두 수의 차
    • 08
      분기문 - switch
    • swich문에 의한 선택적 실행
      안좋은 계산기
    • 09
      제어문
    • break, continue, goto문
      구구단2
      두 수를 더하면 99
    • 10
      컬렉션
    • 배열(Array)
      슬라이스(Slice)
      맵(Map)
      역행렬
      가장 긴 이름
      중간고사 평균 점수
    • 11
      함수
    • Go언어에서의 함수
      전역변수와 지역변수
      매개변수
      반환값(리턴값)
      익명 함수
      오름차순 정렬
      아이패드를 사주는 조건
      역학적 에너지
    • 12
      클로저
    • 외부 변수 접근 : 클로저
      동전 정리
    • 13
      구조체와 메소드
    • 구조체
      메소드
      성적 저장 프로그램
      역학적 에너지2
    • 14
      인터페이스(interface)
    • 메소드의 집합 인터페이스
      직육면체와 원기둥
    • 15
      defer와 panic()
    • 지연 처리 defer
      종료하는 panic(), 복구하는 recover()
      엘리베이터
      중간고사 평균 점수2
    • 16
      에러 처리
    • 에러 처리의 기본
      에러 출력 및 처리
      중간고사 평균 점수3
    • 17
      고루틴(Goroutine)
    • 비동기 프로세스의 기본
      고루틴의 활용
      고루틴 실습
    • 18
      채널(Channel)
    • 고루틴의 데이터 통로 : 채널
      비동기 채널과 버퍼
      동기 채널
      채널 닫기
      송신 전용, 수신 전용 채널
      채널 select문
      고루틴 실습2
      메시지 전송
      동기 채널 실습
      비동기 채널 실습
    • 19
      패키지(package)
    • 패키지의 개념
    • 20
      실전 프로젝트 - 마일리지 상점
    • 프로젝트를 시작하기 앞서
      실습모드에서 실습
      마일리지 상점의 주요 기능
      필수 구조체와 매인 메뉴
      잔여 수량, 잔여 포인트 구현
    • 21
      실전 프로젝트 - 주문하기, 장바구니 담기
    • 구매 구현(1)
      구매 구현(2)
      장바구니에 담기
      장바구니 확인(1)
      장바구니 확인(2)
    • 22
      실전 프로젝트 - 고루틴으로 배송하기
    • 배송 상태 확인(1)
      배송 상태 확인(2)
      배송 상태 확인(3)
      최종 코드
    동전 정리
    배우기
    12 클로저
    동전 정리

    클로저는 외부 함수의 변수를 자신의 것으로 끌어들여 사용한다고 했습니다. 따라서 클로저를 사용해 함수를 만든다면 같은 기능을 하는데 다른 변수를 필요로 하는 함수를 여러개 만들 필요가 없습니다. 변수를 하나 설정해두고 여러번 호출해서 사용할 수 있습니다.


    저금통에 동전이 많이 쌓여서 동전의 개수를 파악하고 총 얼마의 돈이 있는지 확인하는 프로그램을 실습해봅니다. 동전 개수를 이용해 액수를 구하는 방법은 쉽습니다. 바로 "동전 금액 * 개수"를 하면 액수가 나옵니다. 그런데 4개의 동전에 따라 계산하는 함수를 각각 만들면 낭비일 것입니다. 따라서 클로저를 이용해 함수를 한 개만 만들어보겠습니다.

    실습 내용
    • 동전액수*동전개수를 시행하는 calCoin() 함수를 선언합니다. 매개변수는 동전의 액수를 저장하는 변수 한 개입니다. 그리고 이 함수는 익명 함수를 반환합니다.
    • calCoin() 함수는 동전 액수에 따라 add10, add50, add100, add500 변수에 선언 및 초기화됩니다. 전달된 변수는 calCoin() 함수 안에 익명 함수에서 사용할 수 있습니다.
    • 각 동전 액수를 더한 모든 금액을 totalmoney에 초기화하고 출력합니다.
    • 사용자에게 동전 개수를 입력받을 때 음수를 입력 받으면 "잘못된입력입니다."를 출력하고 프로그램을 종료합니다.


    입력


    첫 번째 줄에는 10원 동전의 개수, 두 번째 줄에는 50원 동전의 개수, 세 번째 줄에는 100원 동전의 개수, 네 번째 줄에는 500원 동전의 개수를 입력합니다.


    출력


    총 금액을 출력합니다.

    음수를 하나라도 입력했다면 "잘못된입력입니다."를 출력합니다.

    입/출력 예시
    :
    공백
    :
    줄바꿈
    :
    예시 1
    입력
    1
    4
    5
    6
    출력
    3710
    ⋇ 입출력 형식을 잘 지켜주세요
    질문하기