Jaeyoung Kim
나의 개발 공부 일지
Jaeyoung Kim
전체 방문자
오늘
어제
  • 분류 전체보기 (77)
    • WIL👨‍🏫 (16)
    • 🤖Algorithm (29)
    • 🖥CS (20)
      • 기술면접대비🔎 (10)
    • ✍️개발로그 (10)

블로그 메뉴

  • 홈
  • 방명록
  • 글쓰기
  • 설정

공지사항

인기 글

태그

  • 자바
  • transaction
  • til
  • sql
  • 항해99
  • querydsl
  • 프로그래머스
  • HTTP
  • Java
  • N-gram parser
  • SQLD
  • 트랜잭션
  • 백준2920
  • API
  • 개발로그
  • 백준
  • rest
  • 회고록
  • 데이터자료구조
  • WIL

최근 댓글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
Jaeyoung Kim

나의 개발 공부 일지

[프로그래머스] 평균 구하기 Java
🤖Algorithm

[프로그래머스] 평균 구하기 Java

2022. 7. 16. 15:16
728x90

평균 구하기


문제설명

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


제한조건

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

입출력 예

arr return
[1, 2, 3, 4] 2.5
[5, 5] 5

기본코드

class Solution {
    public double solution(int[] arr) {
        double answer = 0;
        return answer;
    }
}

문제풀이

먼저 기본 코드에 적혀있는 double...

double 함수가 뭐였더라

구글링해보니 소수점 단위까지 출력 가능한 실수 타입의 변수였다.

 

float이라는 함수도 있기는 하지만 실수 리터럴 뒤에 f 혹은 F를 꼭 붙어야하고

용량도 double에 비해 작은 4byte(double은 8byte)

여러므로 double을 쓰는게 더 마음 편해 보인다.

 

double 함수에 대한 이해를 바탕으로 가볍게 문제를 풀려하였으나 마지막 단계에 가서 double 함수를 사용했음에도 불구하고 소수점 단위 값이 출력되지 않았다.

또 검색해보니

double을 사용할 경우 발생할 수 있는 문제로, 초기 사용 변수들의 속성타입을 double이 아닌 int등으로 지정하였다면

소수점 단위 값의 출력이 정상적으로 이뤄지지 않는다는 것이다.

//예시

int a = 10;
int b = 3;
double c = a/b;
System.out.println(c); // 3

double a  = 10;
double b = 3;
double c = a/b;
System.out.println(c); // 3.3333333333333335

//문제 해결 방법 - double 함수 사용 단계에서 데이터 변경
//뒤의 함수의 데이터를 변경해도 상관없다.

int a = 10;
int b = 3;
double c = (double)a/b;  // == double c = a/(double)b;
System.out.println(c); // 3.3333333333333335

Solution.java

class Solution {
    public double solution(int[] arr) {
        int sum = 0;
        for(int i = 0; i<arr.length; i++) {
            sum += arr[i];
        }
        System.out.println(c);
        double answer = (double)sum/arr.length;
        return answer;
    }
}
728x90

'🤖Algorithm' 카테고리의 다른 글

[프로그래머스] 핸드폰 번호 가리기 Java  (0) 2022.07.18
[프로그래머스] 없는 숫자 더하기 Java  (0) 2022.07.16
[프로그래머스] 음양 더하기 Java  (0) 2022.07.16
[프로그래머스] 문자열을 정수로 바꾸기 Java  (0) 2022.07.16
[프로그래머스] 두 정수 사이의 합 Java  (0) 2022.07.15
    '🤖Algorithm' 카테고리의 다른 글
    • [프로그래머스] 핸드폰 번호 가리기 Java
    • [프로그래머스] 없는 숫자 더하기 Java
    • [프로그래머스] 음양 더하기 Java
    • [프로그래머스] 문자열을 정수로 바꾸기 Java
    Jaeyoung Kim
    Jaeyoung Kim
    보다 안정적인 코드 구현을 꿈꾸는 백엔드 개발자 지망생

    티스토리툴바