https://school.programmers.co.kr/learn/courses/30/lessons/120895
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
fun main() {
var str = "I love you"
var num1:Int = readLine()!!.toInt()
var num2:Int = readLine()!!.toInt()
var arr = str.toCharArray()
val temp = arr[num1]
arr[num1] = arr[num2]
arr[num2] = temp
str = String(arr)
println("$str")
}
class Solution {
fun solution(my_string: String, num1: Int, num2: Int): String {
var answer: String = ""
var arr = my_string.toCharArray()
var temp = arr[num1]
arr[num1] = arr[num2]
arr[num2] = temp
answer = String(arr)
return answer
}
}
해당 문제를 접근할 때 이전 문제에서 문자불변의 성질 때문에 String형태에 접근할 때는 stringbulider를 써야한다고 생각했으나, 인덱스 자체를 바꾸는 문제는 불가능 했다.
이를 해결하기 위해 해당 스트링형태의 변수를 배열로 변환했다. 덕분에 arr[index] = arr[index2]로 변환이 가능해졌다.
temp는 임시적으로 num2의 값을 저장해주기 위한 장치이다.
여기서 형태변환에서 몰라서 한참 해맸던 부분이 있다. 이 부분을 혼자 해결환 결론은 이렇다.
1. str = String(arr) //정답
2. str = arr.toString() //오답. 처음 시도했던 방식
String() -> 어떤 형태이든 문자로 형변환이지만
toString() -> 배열을 문자로 바꿔주는 기능이 없다!!!!
따라서 String()으로 하는게 정답인 것이다.
하지만 여기서 튜터님께 질문한 결과물이 하나 더 등장하는데... 바로
joinToString("")이다
이를 사용하면 배열을 문자열로 바꿔줄 수 있다.
따라서
fun main() {
var str = "I love you"
var num1:Int = readLine()!!.toInt()
var num2:Int = readLine()!!.toInt()
var arr = str.toCharArray()
val temp = arr[num1]
arr[num1] = arr[num2]
arr[num2] = temp
str = arr.joinToString("")
println("$str")
}
가 옳바른 습관이 될 것이다.
블로그 참고
https://wdprogrammer.tistory.com/11
[Kotlin] 코틀린에서 형변환은 어떻게 할까
2018-10-17-kotlin-casting Java에서는 자동 형변환을 지원했으며, 강제 형변환도 손쉽게 가능했다. 형변환이 가능하다면 그냥 변수명 앞에 (타입)만 붙여주면 된다. 그렇지만 코틀린은 자동 형변환을 지
wdprogrammer.tistory.com
https://notepad96.tistory.com/3
코틀린(Kotlin) 기본 문법(자료형, 형변환, 배열)
1. Kotlin 자료형 코틀린은 자바와 100% 호환이 가능하며 그에 따라서 문법적으로 유사한 점이 많이 있다. 대신 코틀린은 세미콜론( ; )을 사용하지 않으므로 들여 쓰기, 불필요한 공백을 주의해야
notepad96.tistory.com
https://ji-musclecode.tistory.com/16
JS - String() 과 toString()
JS에는 문자열로 형 변환을 제공하는 기본 함수 String()과 .toString()이 있습니다. 주로 개발을 하면서 문자열로 형변환이 필요한 경우가 있는데, 보통 String()을 사용하여 변환하였습니다. 그렇다면
ji-musclecode.tistory.com
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/join-to-string.html
joinToString - Kotlin Programming Language
kotlinlang.org
'개발노트 > 프로그래머스' 카테고리의 다른 글
프로그래머스 숫자찾기 코틀린 (0) | 2023.08.02 |
---|---|
배열의 유사도 코틀린 (0) | 2023.07.31 |
대문자와와 소문자 코틀린 (0) | 2023.07.31 |
중복된 문자 제거하기 코틀린 (0) | 2023.07.31 |
문자열 정렬하기(1) 코틀린 (0) | 2023.07.31 |