Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 서비스 쓰레드 차이
- ANR이란
- 멤버변수
- jvm 작동 원리
- 2022 플러터 설치
- 플러터 설치 2022
- 안드로이드 라이선스 종류
- 안드로이드 os 구조
- Rxjava Observable
- 안드로이드 라이선스
- 스택 자바 코드
- 안드로이드 유닛 테스트
- 큐 자바 코드
- 안드로이드 레트로핏 사용법
- android retrofit login
- rxjava cold observable
- 안드로이드 유닛테스트란
- 안드로이드 레트로핏 crud
- android ar 개발
- 클래스
- jvm이란
- 안드로이드 유닛 테스트 예시
- 2022 플러터 안드로이드 스튜디오
- 서비스 vs 쓰레드
- rxjava hot observable
- 객체
- ar vr 차이
- 스택 큐 차이
- rxjava disposable
- 자바 다형성
Archives
- Today
- Total
나만을 위한 블로그
[Algorithm] 프로그래머스 - 대소문자 바꿔서 출력하기 (Kotlin) 본문
728x90
반응형
영어 알파벳으로 이뤄진 문자열 str이 주어진다. 각 알파벳을 대문자는 소문자로, 소문자는 대문자로 변환해 출력하라
문자열을 돌면서(=순회하면서) 소문자인 알파벳은 대문자로, 대문자인 알파벳은 소문자로 변환하면 된다.
하지만 궁극적으로 의문인 것은 어떻게 대소문자를 구별하고, 대소문자로 변환하는가일 것이다.
아래와 같이 작성하면 소문자는 대문자로, 대문자는 소문자로 변환할 수 있다.
fun main(args: Array<String>) {
val s1 = readLine()!!
val result = s1.map {
when {
it.isUpperCase() -> it.lowercase()
it.isLowerCase() -> it.uppercase()
else -> it
}
}.joinToString("")
println(result)
}
isUpperCase(), isLowerCase()는 각 Character가 대문자인지 소문자인지 확인해서 true, false를 리턴하는 함수다.
대문자면 lowerCase()로 소문자로 변환하고, 소문자면 upperCase()로 변환한다. 어디에도 해당하지 않으면 해당 Character를 그대로 리턴한다.
이후 joinToString("")을 써서 공백없이 모든 글자들을 하나로 연결한다. joinToString("")을 쓰는 이유는 map 블록으로 리턴되는 값이 컬렉션이라서, joinToString("")을 쓰지 않고 출력하면 리스트 형태로 출력된다. 출력은 문자열 형태기 때문에 리스트를 문자열로 만드는 처리가 필요하다. 그래서 joinToString("")으로 리스트 안의 요소들을 하나의 문자열로 합쳐야 한다.
when이 아닌 if를 사용한다면 아래처럼 할 수 있다.
fun main(args: Array<String>) {
val s1 = readLine()!!
val result = s1.map {
if (it.isUpperCase()) {
it.lowercase()
} else {
it.uppercase()
}
}.joinToString("")
println(result)
}
when 블록을 쓰면 else 블록을 써야 하는데 if를 쓰면 더 간결한 조건으로 대소문자 변환을 진행할 수 있다.
반응형
'알고리즘 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[Algorithm] 프로그래머스 - 덧셈식 출력하기 (Kotlin) (0) | 2023.12.02 |
---|---|
[Algorithm] 프로그래머스 - 특수문자 출력하기 (Kotlin) (0) | 2023.11.25 |
[Algorithm] 프로그래머스 - 문자열 반복해서 출력하기 (Kotlin) (0) | 2023.11.25 |
[Algorithm] 프로그래머스 - a와 b 출력하기 (Kotlin) (0) | 2023.11.25 |
[Algorithm] 프로그래머스 - 문자열 출력하기 (Kotlin) (0) | 2023.11.25 |
Comments