https://school.programmers.co.kr/learn/courses/30/lessons/120893
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
fun main() {
var str = "abCdEfghIJ"
var result = ""
for(i in str){
if(i.toInt() in 65 ..90){
result += (i.toInt()+32).toChar()
}else if(i.toInt() in 97 .. 122){
result += (i.toInt()-32).toChar()
}
}
println(result)
}
class Solution {
fun solution(my_string: String): String {
var answer: String = ""
for(i in my_string){
if(i.toInt() in 65 .. 90){
answer += (i.toInt()+32).toChar()
}else if(i.toInt()in 97 .. 122){
answer +=(i.toInt()-32).toChar()
}
}
return answer
}
}
이번 문제는 아스키 코드를 사용하면 굉장히 쉬운 문제다.
65~90은 아스키 코드의 대문자 영역이며
97~122는 아스키 코드의 소문자 영역이다.
각 알파벳은 +-32로 대-소문자를 오가므로 각 스트링의 요소를 순회하며 아스키코드 값으로 받은 뒤
대문자 영역에서는 +32로 소문자로 전환하고
소문자 영역에서는 -32로 대문자로 전환한다.
그 결과값 아스키코드를 .toChar() 형태로 저장한다.
char형태로 저장하는 이유는, char에 아스키코드 값을 넣었을 때 해당 문자가 반환되기 때문이다.
https://velog.io/@exploit017/%EC%95%84%EC%8A%A4%ED%82%A4-%EC%BD%94%EB%93%9C%ED%91%9C
'개발노트 > 프로그래머스' 카테고리의 다른 글
배열의 유사도 코틀린 (0) | 2023.07.31 |
---|---|
인덱스 바꾸기 코틀린 (0) | 2023.07.31 |
중복된 문자 제거하기 코틀린 (0) | 2023.07.31 |
문자열 정렬하기(1) 코틀린 (0) | 2023.07.31 |
프로그래머스 최대값만들기 (0) | 2023.07.28 |