코딩테스트

TIL 20240525 코딩테스트 (4)

개발자 백구 블로그 2024. 5. 25. 20:44

오늘도 어김없이 코딩테스트 한 것을 정리하면서 다시 문제를 훑어보는 시간을 가져본다...

아직 0레벨이지만,, 그래도 어렵지만,,, 차근차근 공부해보는거지,, 응,,

 

 


// 문자열 붙여서 출력하기
fun main(args: Array<String>) {
    val input = readLine()!!.split(' ')
    val s1 = input[0]
    val s2 = input[1]
    print(s1+s2)
}

 

두 개의 문자열을 그대로 붙여서 출력하는 거므로 각각의 인덱스로 나뉘어 선언, 할당해준다음에 그저 이를 더해주었다!

그랬더니 정답을 맞을 수 있었다ㅋㅋㅋ 크게 어렵지 않아서 이 문제는 수월하게 풀었던 것 같다.

 

 


// 문자열 돌리기
fun main(args: Array<String>) {
    val s1 = readLine()!!
    s1.map{
        print("$it\n")
    }
}

 

문자열을 map으로 돌려서 입력한 대로 순차적으로 나오게 하였다!

print을 사용했기 때문에하나씩 출력되게 하는 것이므로 \n을 사용해 줄바꿈을 해주었다 ㅋㅋㅋㅋㅋ

println("$it")을 사용해도 무방하다! 그저 print와 println의 차이를 제대로 확인하기 위해서 사용을 해봤던 것뿐이다!

예를 들어 print는 abc 이런식으로 한줄로 나오고

println은 줄바꿈이 돼서

a

b

이런식으로 출력이 된다!!

 

 


// 홀짝 구분하기
fun main(args: Array<String>) {
    val a = readLine()!!.toInt()
    if(a%2 == 0){
        println("$a is even")
    }else {
        println("$a is odd")
    }
}

 

이건 단순히 짝수가 2로 나머지 계산을 했을 때 값이 0이 나온다는 사실을 알면 간단히 if 절을 사용해서 풀 수 있을 것이다!!

그래서 나또한 이 문제는 어렵지 않게 풀 수 있었다!!

 

 


// 문자열 곱하기
class Solution {
    fun solution(my_string: String, k: Int): String {
        var answer: String = ""
        for (i in 1..k) {
            answer += my_string
        }
        return answer
    }
}

 

for 반복문으로 k까지의 수만큼 입력한 string 값이 반복되게 하는 문제였다. 예를들어 love를 2번 하는 거면 lovelove 이렇게 말이다!! 그래서 단순히 이걸 돌려질때마다 이걸 answer 에 담아주고 더해가는 문제라서 어렵지 않았다. 

단순히 값을 곱하고 그런 문제가 아니였다!

 

 


// 홀짝에 따라 다른 값 반환하기
class Solution {
    fun solution(n: Int): Int {
        var answer: Int = 0
        if (n % 2 == 0){
            for (i in 0..n step 2) answer += i*i
        } else {
            for(i in 1..n step 2) answer += i
        }
        return answer
    }
}

 

위에 홀 짝 구분 하는 것처럼 이 역시 if절을 이용할 줄 알면 쉽게 풀 수 있는 문제였다.

다만 배열에서 짝수인 것은 곱하는 걸로 홀수는 그 값을 넣어주는 거라서 조금 다른 형태긴 했지만 응용할 줄 알면 크게 문제 없이 풀 수 있었다.

그리고 step를 이용해서 원하는 순서만큼 이동?? 을 할 수 있다는 것을 알게되었다! step은 작은 수에서 큰 수로 향할때 쓰고,, 반대로 큰 수에서 작은 수로 향할때는 downTo를 사용한다고 한다!!

 

 


// 문자 반복 출력하기
class Solution {
    fun solution(my_string: String, n: Int): String {
        val answer = my_string.map{it.toString().repeat(n)}
            .joinToString("")
        return answer
    }
}

 

for 반복문이 아니라 이번에는 repeat라는 문법을 이용해서 풀어보았다.