프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이번 문제의 핵심은, 제한사항인 num 개의 연속된 수를 더하여 total 이 될 수 없는 테스트 케이스는 없다는 조건이라고생각한다.
이말은 즉슨, 무조건 연속된 숫자의 합으로 만들 수 있다는 것인데, 나는 기준점을 잡는다면 문제를 쉽게 해결할 수 있을 것이라고 생각했다. 그런데 시작점을 잡는 방법을 생각해내지 못해, GPT의 도움을 받았다..
- total을 num으로 나누어 평균 값을 구한다.
- 평균값(중심)에서 시작점을 조정한다.
class Solution {
fun solution(num: Int, total: Int): IntArray {
val answer = IntArray(num)
var start = (total / num) - ((num - 1) / 2)
for (i in 0 until num) {
answer[i] = start
start++
}
return answer
}
}
728x90
'개인공부 > 알고리즘' 카테고리의 다른 글
프로그래머스 - 문자열 밀기 (Kotlin) (0) | 2023.07.23 |
---|---|
프로그래머스 - 종이 자르기 (Kotlin) (0) | 2023.07.23 |
프로그래머스 - 다음에 올 숫자 (Kotlin) (0) | 2023.07.23 |
프로그래머스 - 옹알이(1) (Kotlin) (0) | 2023.07.23 |
[level 3] Title: 하노이의 탑 파이썬 (0) | 2022.05.31 |