본문 바로가기
개발노트/프로그래머스

대문자와와 소문자 코틀린

by 시계속세상은아직돌아가는중 2023. 7. 31.

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