Skip to content

Latest commit

 

History

History
73 lines (49 loc) · 1.75 KB

200921.md

File metadata and controls

73 lines (49 loc) · 1.75 KB

2020/09/21 알고리즘 공부 내용 정리 (연습문제 - 정수 내림차순으로 배치하기, 평균 구하기)

풀이한 문제는 "프로그래머스"의 "연습 문제"로 진행 하였다. 일단 쉬운문제로 천천히 다시 시작해봐야지..

1. 정수 내림차순으로 배치하기

1.1 문제 설명

함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.

1.2 제한사항

  • n은 1이상 8000000000 이하인 자연수입니다.

1.3 입출력 예

n return
118372 873211

1.4 풀이 과정

코틀린 문법 공부하기 딱 좋은 날씨다.

1.5 코드

import kotlin.math.pow

class Solution {
    fun solution(n: Long): Long {
        val nAry = n.toString().toCharArray()
        nAry.sort()
        return nAry.foldRightIndexed(0.toLong()) { i, next, acc -> 
            (acc + Character.getNumericValue(next) * 10.0.pow(i.toDouble())).toLong()
        }
    }
}

2. 평균 구하기

2.1 문제 설명

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

2.2 제한사항

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

2.3 입출력 예

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

2.4 풀이 과정

코틀린 문법 공부하기 딱 좋은 날씨다. (2)

2.5 코드

class Solution {
    fun solution(arr: IntArray): Double {
        return arr.fold(0) { next, acc ->
            acc + next
        } / arr.size.toDouble()
    }
}