본문 바로가기
Kotlin Language/Kotlin 초보 LV.0

Kotlin(코틀린) - 출력하기 프로그래머스 Lv.0 초보편 #1

by Classic Master 2023. 12. 5.
728x90

문자열 출력하기

문제 

문자열 str이 주어질 때, str을 출력하는 코드를 작성해 보세요.

입력 #1 출력 #1
HelloWorld! HelloWorld!

 

정답

fun main(args: Array<String>) {
    val s1 = readLine()!!
    println("$s1")
}

a 와 b 출력하기

문제

정수 a와 b가 주어집니다. 각 수를 입력받아 입출력 예와 같은 형식으로 출력하는 코드를 작성해 보세요.

입력 #1 출력 #1
4 5 a = 4
b = 5

 

정답

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

문자열 반복해서 출력하기

문제

문자열 str과 정수 n이 주어집니다. str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요.

입력 #1 출력 #1
string 5 stringstringstringstringstring

 

정답

fun main(args: Array<String>) {
    val input = readLine()!!.split(' ')
    val s1 = input[0]
    val a = input[1]!!.toInt()
    for (i in 0 until a) {
        print(s1)
    }
}

대소문자 바꿔서 출력하기

문제

영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요.

입력 #1 출력 #1
aBcDeFg AbCdEfG

 

정답

fun main(args: Array<String>) {
    val s1 = readLine()!!
    for(i in s1.indices){
        if(s1[i].isUpperCase()){
            print(s1[i].toLowerCase())
        }else{
            print(s1[i].toUpperCase())
        }
    }
}

 


특수문자 출력하기

문제

다음과 같이 출력하도록 코드를 작성해 주세요.

1!@#$%^&*(\'"<>?:;

 

정답

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

이스케이프 처리가 필요한 문자열 앞에 "\"를 써주면 된다.


코틀린 기초 키워드 알고가자

readLine()!!

  • 사용자로부터 콘솔에서 입력을 받는 함수입니다. 이 함수는 사용자가 엔터 키를 입력할 때까지 입력을 받은 후, 그 값을 반환합니다.
  • !!는 "non-null 단언 연산자"로, 해당 변수 또는 식이 절대로 null이 아님을 단언하는 연산자입니다

split(' ')

  • split(' ')은 문자열을 특정 구분자를 기준으로 분할하는 함수입니다. 여기서는 공백을 기준으로 문자열을 분할하는 것을 의미합니다.

map(String::toInt)

  • 리스트 또는 다른 컬렉션의 각 원소에 대해 특정 변환 함수를 적용하여 새로운 컬렉션을 생성하는 함수입니다.
  • String::toInt은 문자열을 정수로 변환하는 함수입니다.

input[0]

  • 리스트나 배열과 같은 인덱스 기반의 컬렉션에서 첫 번째 원소에 접근하는 방법입니다.

i in 0 until a

  •  i가 0부터 a 미만의 값을 가질 때까지의 범위에 속하는지를 나타냅니다.

.indices

  • 해당 컬렉션의 유효한 인덱스 범위를 나타냅니다..indices는 이러한 컬렉션에서 유효한 인덱스 범위를 나타내기 때문에, 이 범위 내에서 반복문 등을 사용할 때 유용합니다.

.toLowerCase()

  • 대문자일 경우, 소문자로 변환하여 출력합니다.

.toUpperCase())

  • 소문자일 경우, 대문자로 변환하여 출력합니다.
728x90
반응형