본문 바로가기
알고리즘

[코딩테스트] Level. 1 두 정수 사이의 합

by 개발_블로그 2023. 1. 12.
반응형

문제 설명

두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.

제한 조건
  • a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.
  • a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.
  • a와 b의 대소관계는 정해져있지 않습니다.
입출력 예
3 5 12
3 3 3
5 3 12

 

일반적인 풀이 방법인 것 같다.

var answer = 0L
if(a > b) {
    for(n in b.. a) {
        answer += n
    }
} else {
    for(n in a.. b) {
        answer += n
    }
}
return answer

 

혼자서 꼬아서 풀어본 방법 

val i = listOf(a, b).sorted()
var sum = 0L
for (n in i.first()..i.last()) {
    sum += n
}
return sum

 

 

문제를 풀다보니 sorted() 함수가 궁금해서 찾아보았는데 이 분의 게시물이 좋은 것 같다.

https://codechacha.com/ko/kotlin-sorting-list/

 

Kotlin - 리스트 정렬 방법 (sort, sortBy, sortWith)

리스트를 정렬하는 방법을 소개합니다. Immutable 리스트 정렬, Mutable 리스트 정렬, 역순으로 정렬, sortedWith(), sortWith(), sortedBy(), sortBy() sorted()는 데이터 변경이 안되는 리스트(Immutable list)의 정렬된

codechacha.com

 

반응형