매일 백준의 알고리즘 문제를 풀며 3문제씩 풀며
한 언어를 마스터 할 것을 목표로 이 글을 작성할 예정입니다.
https://www.acmicpc.net/problem/2480
주사위 3개를 공백으로 모두 받아야 하기에 split을 사용함
그 뒤 조건에 따라if와when문을 사용하여 풀던 중
모두 다른 눈일 때 가장 큰 눈 * 100원을 해야하기에 숫자를 list로 묶어주어
그중 .max()가 100과 곱해지게 만들어 줌
fun main() {
val (a, b, c) = readln().split(" ").map { it.toInt() }
val nums = listOf(a, b ,c)
if (a == b && b == c){
print( 10000 + a * 1000 )
}
else if (a == b || b == c || a == c) {
when {
a == b -> {
print( 1000 + a * 100 )
}
b == c -> {
print( 1000 + b * 100 )
}
else -> {
print ( 1000 + c * 100 )
}
}
}
else {
print( nums.max() * 100)
}
}
https://www.acmicpc.net/problem/25304
영수증을 검산하는 프로그램으로 총 금액과 물건 갯수를 하나씩 받아준 뒤
totalCheck를 만들어 주어 for문 안에 물건과 갯수를 받을 수 있는 변수를 추가 한 후 더 해줌
마지막 조건으로 그게 맞다면 Yes를 틀리다면 No를 출력하게 해줌
fun main() {
val total = readln().toLong()
val count = readln().toInt()
var totalCheck : Long = 0
for (i in 1..count) {
val (a, b) = readln().split(" ").map { it.toLong() }
totalCheck += a * b
}
if (total == totalCheck){
print("Yes")
}
else { print("No") }
}
https://www.acmicpc.net/problem/25314
문제를 이해하기 어려웠는데
생각해보니 그냥 byte에 4를 나눠서 그 만큼 Long을 출력하고
그 뒤 Int를 붙여주면 될 거라고 생각했고 그게 맞았음
fun main() {
val byte = readln().toLong()
for (i in 1..byte/4)
{
print("long ")
}
print("int")
}
for문 안에 변수를 받아서 코드를 최소화 할 수 있다는 걸 알 수 있었음
또.max는 List안에 변수를 비교하기에 a,b,c가 있다면
그것을 묶어줄 변수가 필요하다는 것을 새로 알 수 있었음.