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
반응형