https://www.acmicpc.net/problem/10818
import scala.io.StdIn
object Main{
def main(args:Array[String]):Unit = {
val T:Int = StdIn.readInt()
val line = StdIn.readLine().split(" ")
var list = line.toList.sortWith(_ < _)
var intlist = list.map(_.toInt)
val M:Int = intlist.max
val m:Int = intlist.min
println(s"$m $M")
}
}
삽질목록
처음에는
val M:Int = intlist.max
val m:Int = intlist.min
에서, intlist가 아니라 쌩으로 list를 썼다.
그 결과, List(10, 20, 30, 35, 7) 에서
정렬결과가 max값이 7이 나와버렸다.
list는 내부값이 String으로 취급되고 있었기에, 첫 character인 7만 보고 maximum으로 찍힌 것이다.
그래서, var intlist = list.map(_.toInt)
를 한 번 더 해줘서, 내부 element를 전부 Int로 바꾸는 과정을 거쳐야 했다.
Int로 바꿔주는 과정에서,
var list = line.toList.sortWith( < )
list.map(_.toString.toIntOption)
로, 따로 intlist를 선언안하고 바로 list의 메서드를 불렀는데
변화가 적용되지 않았다.
그래서 무지성으로 변수 따로 intlist로 하나 더 선언했다.