@짝꿍이 이거 완전 나 같다고 공유해준 개발자 밈
오늘은 자율 실습시간인데 이론 공부를 하려다가 문제가 풀고싶어져서
프로그래머즈 문제를 풀었다.
문제 : 정수의 수 만큼 문자열 반복
class Solution {
fun solution(my_string: String, k: Int): String {
var answer: String = ""
for(i in 0 until k) {
answer += my_string
}
return answer
}
}
//코드 해설 :
새 문자열 변수 answer를 초기화 합니다.
왜냐면 여기다가 결과값을 담을 거니까요.
그리고 제가 원하는 값은 반복되는 문자열이었습니다.
나는 반복하면 for문 말고는 생각나는게 없었으니 for를 씁니다.
반복하는 범위는 0 until k 입니다. 0 in k-1을 해도 괜찮습니당
정수 k의 수 만큼 반복할거잖아요? 그니까 k만큼 반복해줍니다.
그리고 나서 뭘 반복할꺼에여?문자열 my_string을 반복합니다.
그걸 비어있던 answer에 담아주면 끝
문제 : 더 크게 합치기
class Solution {
fun solution(a: Int, b: Int): Int {
var str1:String = a.toString()
var str2:String = b.toString()
var mynumber1 =str1 + str2
var mynumber2 = str2 + str1
if(mynumber1 > mynumber2) {
return mynumber1.toInt()
}
if(mynumber2 > mynumber1) {
return mynumber2.toInt()
} else {
return mynumber1.toInt()
}
}
}
#코드 해설 :
이게 좀 어려웠습니다.
왜냐면 a,b 모두 Int인데 String처럼 써야했거든요.
일단 toString()을 쓰면 되겠구나~ 라고 생각은 했는데 쓰는 방법을 몰라서 짝꿍한테 물어보고 구글에다 검색을 했습니다.
변수 뒤에다가 .(dot)붙이고 쓰면 됩니다.
일단 Int인 a,b를 모두 문자열로 바꿔줍니다.
그리고 새 변수를 선언하고 문자열로 바꾼 a,b를 이어줍니다.
또한 b,a도 이어줍니다.
둘 중 큰 수를 출력할 것이기 때문입니다.
이게 크면, 저걸 출력하고 저게 크면 이걸 출력한다.
if문이니까 if를 써용
키보드 두드려서 내가 하고싶은대로 써준 후 출력합니다.
아그런데 형변환하는걸 깜빡해서 오류가 났습니다.
return 하는 변수 뒤에 toInt()다 붙여줍니다.
왜냐면 그렇게안하면 String이니까요.
그럼 끝
느낀점 :
놀랍게도 오늘은 챗지피티의 도움없이 해냈습니다. 그래서 뿌듯합니다.
하지만 언제나 그렇듯 나보다 훨씬 더 짧은 타인의 코드를 볼 때마다
'아 왜 이 생각을 못했지?' 라고 생각이 드네용 근데 뭐 난 개발자안할거니까.. ㄱㅊ
import kotlin.math.*
class Solution {
fun solution(a: Int, b: Int): Int {
return max("$a$b".toInt(), "$b$a".toInt())
}
}
class Solution {
fun solution(a: Int, b: Int): Int = if("$a$b".toInt() >= "$b$a".toInt()) "$a$b".toInt() else "$b$a".toInt()
}
아 나도 $ 쓸 생각은 했는데, 활용을 못했다.
하지만 이번 기회에 toString()을 알게되었으니 오케이..^^