while돌리고
1부터 현재까지 더하고(a),현재부터 n까지 더한뒤(b)
a<b 계속진행
a==b 현재값리턴
a>b -1리턴
일단 이렇게인데 반복문안에서 계산귀찮으니까 a>b일때 트리거떙겨서 현재값더해서 비교후 리턴선택하면될듯
정답
class Solution {
fun pivotInteger(n: Int): Int {
var cur=0
var curPoint=0
var max=(1..n).sum()
while (true){
cur+=curPoint
max-=curPoint
if (cur>max){
if (max+curPoint==cur){
return curPoint
}
return -1
}
curPoint+=1
}
}
}
'알고리즘' 카테고리의 다른 글
릿코드 287. Find the Duplicate Number 코틀린 (0) | 2024.03.24 |
---|---|
릿코드 234. Palindrome Linked List 코틀린 (0) | 2024.03.22 |
릿코드 791. Custom Sort String 코틀린 (0) | 2024.03.11 |
릿코드 349. Intersection of Two Arrays 코틀린 (0) | 2024.03.10 |
릿코드 2540. Minimum Common Value 코틀린 (0) | 2024.03.09 |