[Java / Kotlin] 99 클럽 코딩 테스트 스터디 비기너 2일차 - 평균 구하기

2024. 7. 23. 20:51· Coding Test
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/12944

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

[문제]

정수를 담고 있는 배열 arr의 평균값을 return 하는 함수, solution을 완성해 보세요.

arr은 길이 1 이상, 100 이하인 배열입니다.
arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.

 

[입출력 예]

 

[풀이]

주어진 배열의 요소를 모두 더한 후에 해당 배열의 사이즈만큼 나눠줍니다.

예시처럼 소수점으로 return 되는 경우를 고려하여 문제 반환 타입은 Double이어야 합니다.

 

먼저 자바 풀이입니다.

Double형 변수 1개를 선언한 뒤, 주어진 배열을 순회하며 해당 변수에 각 요소를 더해줍니다.

double answer = 0;
        
for(int i=0; i<arr.length; i++) {
    answer += arr[i];
}

 

그다음, 총합이 계산된 변수를 arr.length 만큼 나눠주면 됩니다.

class Solution {
    public double solution(int[] arr) {
        double answer = 0;
        
        for(int i=0; i<arr.length; i++) {
            answer += arr[i];
        }
        
        answer /= arr.length;
        return answer;
    }
}

 

다음은 코틀린 풀이입니다.

코틀린은 매우 간단하게 함수 하나로 풀이가 가능합니다..

class Solution {
    fun solution(arr: IntArray): Double = arr.average()
}

아예 평균값을 반환해 주는 average() 함수가 존재합니다.

함수의 내부 코드를 확인해 보면

/**
 * Returns an average value of elements in the array.
 */
public fun IntArray.average(): Double {
    var sum: Double = 0.0
    var count: Int = 0
    for (element in this) {
        sum += element
        ++count
    }
    return if (count == 0) Double.NaN else sum / count
}

결국 자바 풀이와 동일하게 1개 변수에 모든 요소 값을 더해 그 사이즈만큼 나눠주는 것을 보실 수 있습니다.

그리고 이를 하나의 확장함수로 정의한 형태입니다.

 

코틀린의 컬렉션은.. 자바와 비교가 안될 만큼 편리하죠

반응형
저작자표시 (새창열림)
'Coding Test' 카테고리의 다른 글
  • [Java / Kotlin] 99 클럽 코딩 테스트 스터디 미들러 5일차 - JadenCase 문자열 만들기
  • [Java / Kotlin] 99 클럽 코딩 테스트 스터디 미들러 3일차 - 자연수 뒤집어 배열로 만들기
  • [Java / Kotlin] 99 클럽 코딩 테스트 스터디 비기너 1일차 - 자연수 뒤집어 배열로 만들기
  • [Kotlin] 2의 거듭제곱수
SeungYong.Lee
SeungYong.Lee
반응형
SeungYong.Lee
Win-Dev
SeungYong.Lee
전체
오늘
어제
  • All (228) N
    • Development (128) N
      • Android (124) N
      • iOS (0)
      • Flutter (4)
      • Backend (0)
    • Algorithm (5)
    • Knowledge (5)
      • IT (2)
      • Science (0)
      • ETC & Tip (3)
    • Today I Learn (28)
    • Coding Test (62)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 안녕하세요. 반갑습니다 :)

인기 글

태그

  • Retrofit
  • compose
  • glance
  • 프로그래머스
  • Animation
  • coroutine
  • Flutter
  • 코딩테스트
  • exception
  • Android
  • Collection
  • 비동기처리
  • dfs
  • Java
  • hilt
  • Kotlin
  • Imageview
  • Widget
  • 코틀린
  • HTTP

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
SeungYong.Lee
[Java / Kotlin] 99 클럽 코딩 테스트 스터디 비기너 2일차 - 평균 구하기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.