TIL/알고리즘

03/25 알고리즘 공부 - 프로그래머스 Lv.0(1)

sos000303 2024. 3. 25. 15:31
728x90

1. 문자열 출력하기

더보기
fun main(args: Array<String>) = println(readln()!!)

2. a와 b 출력하기

더보기
fun main(args: Array<String>) {
    val (a, b) = readLine()!!.split(' ').map(String::toInt)
    println("a = $a")
    println("b = $b")
}

3. 문자열 반복해서 출력하기

더보기
fun main(args: Array<String>) {
	val input = readLine()!!.split(' ')
    val s1 = input[0]
    val a = input[1]!!.toInt()
    repeat(a){
        print(s1)
    }
}

4. 대소문자 바꿔서 출력하기

더보기
fun main(args: Array<String>) {
    val s1 = readLine()!!.map{ it }
    val s2 = s1.map{
        if(it.isLowerCase()) it.toUpperCase()
        else it.toLowerCase()
    }.joinToString("")
    
    println(s2)
}

5. 특수문자 출력하기

더보기
fun main(args: Array<String>) {
    println("!@#$%^&*(\\\'\"<>?:;")
}

6. 덧셈식 출력하기

더보기
fun main(args: Array<String>) {
    val (a, b) = readLine()!!.split(' ').map(String::toInt)
    println("$a + $b = ${ a + b }")
}

7. 문자열 붙여서 출력하기

더보기
fun main(args: Array<String>) {
	val input = readLine()!!.split(' ')
    val s1 = input[0]
    val s2 = input[1]
    println(s1+s2)
}

8. 문자열 돌리기

더보기
fun main(args: Array<String>) {
    val s1 = readLine()!!
    for(i in s1){
        println(i)
    }
}

9. 홀짝 구분하기

더보기
fun main(args: Array<String>) {
    val a = readLine()!!.toInt()
    val evenOdd = if(a%2 == 0) "is even" else "is odd"
    
    println("$a $evenOdd")
}

10. 문자열 겹쳐쓰기

더보기
class Solution {
    fun solution(my_string: String, overwrite_string: String, s: Int): String {
        var answer: String = ""
        
        answer = my_string.substring(0 until s) + overwrite_string + my_string.substring(s + overwrite_string.length)
        
        return answer
    }
}

프로그래머스에서 제공하는 Lv0 코딩테스트 연습문제 10개를 풀었다.

5번문제 특수문자 출력하기에서 이스케이프 문자를 사용하지 않고 """(특수문자)"""를 사용하면 내부의 특수문자를 그대로 출력할 수 있다는 것을 알게 되었다.

10번문제 문자열 겹쳐쓰기에서 replaceRange(start, end, replace)라는 메서드를 배웠다.

728x90