한 눈에 끝내는 고랭 기초
    • 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)
      최종 코드
    중간고사 평균 점수
    배우기
    10 컬렉션
    중간고사 평균 점수

    시험을 보고 과목과 점수들을 입력하면 자동으로 평균이 출력되는 프로그램을 실습해봅니다.

    시험 과목은 학년과 학교에 따라 다르기 때문에 입력 받는 과목의 수는 정해져있지 않습니다. 과목과 점수를 모두 입력 받으면 입력 받은 과목과 점수 그리고 평균값이 출력됩니다.


    이 실습은 for range문을 활용했습니다. 잘 기억이 나지 않는다면 반복문 챕터에 for range문을 한 번 더 공부하고 오기 바랍니다.

    실습 내용
    • 중간고사 과목과 점수를 저장하는 map 컬렉션을 선언합니다.
    • 과목은 string, 점수는 int형으로 선언합니다.
    • 평균값을 저장하는 변수 avg를 float32형으로 선언합니다.
    • 과목과 점수를 제한없이 입력 받습니다. 그리고 0이 입력되면 입력을 종료합니다.
    • 점수들의 평균을 소수점 두 번째 자리까지 출력합니다.


    map을 for range문으로 전체 출력하면 순서대로 출력되지 않습니다. 슬라이스와 배열과 같은 컬렉션은 인덱스가 0부터 순서대로 지정돼 연결되어 저장되고 순서가 중요하지만 map 컬렉션은 인덱스도 사용자 지정이라 순서가 따로 지정되지 않습니다. 따라서 range문을 이용한다고 해서 순서대로 출력되는것은 아닙니다.

    따라서 이번 실습 문제는 코드를 실행할 때마다 map의 출력 순서가 다르기 때문에 출력 결괏값이 예시와 다르다고 틀렸다고 생각하지 마시길 바랍니다.

    입력


    첫 번째 줄부터 각 줄마다 과목이름과 점수를 띄어쓰기해서 입력합니다. 한 줄에 "과목이름 점수"를 입력합니다.

    입력이 끝났으면 마지막 줄에 0을 입력하고 엔터(개행)을 입력합니다.


    출력


    입력한 과목 이름과 점수가 각 줄에 출력됩니다. 순서는 입출력 예시와 다르게 섞여서 출력될 수 있습니다.

    마지막 줄에는 점수들의 평균이 소수점 두 번째 자리까지 출력됩니다.



    입/출력 예시
    :
    공백
    :
    줄바꿈
    :
    예시 1
    입력
    English98
    Math73
    Science89
    Korean50
    0
    출력
    Math73
    Science89
    Korean50
    English98
    77.50
    ⋇ 입출력 형식을 잘 지켜주세요
    질문하기