최댓값과 최솟값
주어진 문자열 s를 받아 공백으로 나누어진 숫자들의 최솟값과 최댓값을 구한다.
split으로 숫자들을 나누고 바로 min,max값을 구했는데 string을 int로 바꾸지 않아 음수의 최대,최소값이 잘못나왔다. 그래서 map을 이용해 int로 변환한 후 최댓값과 최솟값을 구해서 문자열로 반환해줌
class Solution {
fun solution(s: String): String {
var sSplit = s.split(" ").map{ it.toInt()}
var answer = "${sSplit.minOrNull()} ${sSplit.maxOrNull()}"
return answer
}
}
다른사람의 풀이
class Solution {
fun solution(s: String): String = s.split(" ").map { it.toInt() }.let { "${it.min()} ${it.max()}" }
}
let을 이용해 마지막에 처리해줌
open class | abstract | interface |
---|---|---|
단일상속 | 단일상속 | 다중상속 |
구현가능 | 구현가능 | 구현X, 디폴트 메서드를 통하면 가능 |
생성자O, 상태초기화O | 생성자O, 상태초기화O | 생성자X |
추상메서드X (override가능) | 공통기능제공 + 구현요구 | 관련없는 클래스들의 공통의 행위 공유 + 다중상속 |
인스턴스화 O | 인스턴스화X | 인스턴스화X |