2024. 6. 5. 02:55ㆍ코딩테스트
오늘도 어김없이 코테 정리를 시작하고자 한다..
사실 0단계여서 아직 터무니 없이 어려운 문제를 보진 못했지만,,
그래도 새롭게 알게 된 문법이나 다른 여러 풀이 방식이 있는거니까,, 정리하기 위함으로 쓰고자 한다.
// 더 크게 합치기
class Solution {
fun solution(a: Int, b: Int): Int {
var ab = "$a$b"
var ba = "$b$a"
return if( ab.toInt() >= ba.toInt()){
ab.toInt()
} else ba.toInt()
}
}
이문제가 a가 19 b가 5 라면 195가 큰지 591이 큰지 비교를 해서 큰 걸 리턴해주는 값이었다..
그래서 각각 ab와 ba로 해서 선언과 할당을 먼저 해주고 비교를 해준 다음에 if 절을 사용해서 요구하는 답에 맞게 답할 수 있었다.
// 배열에서 문자열 대소문자 변환하기
class Solution {
fun solution(strArr: Array<String>): Array<String> {
for(i in strArr.indices){
strArr[i] = if(i % 2 == 0 ) strArr[i].lowercase() else strArr[i].uppercase()
}
return strArr
}
}
배열이 있는데 인덱스가 짝수인 경우 소문자, 홀수인 경우에는 대문자로 출력해주는 것이었다...
그래서 indices로 for 반복문으로 돌려주고 if절을 이용해서 요구한 조건에 맞춰서 마저 계산을 해주면 된다!
여기에서 어려웠던 부분은 인덱스가 홀수냐 짝수냐에 대한 것이었다... 처음 보는 유형이어서 조금 해맸던 부분이었지만 그래도 차근 차근 풀었더니 잘 할 수 있었다ㅠㅠ
// 특정한 문자를 대문자로 바꾸기
class Solution {
fun solution(my_string: String, alp: String): String {
var answer: String = my_string.replace(alp, alp.toUpperCase())
return answer
}
}
이는 alp를 다 대문자로 바꿔야 하는 문제였는데 replace라는 문법을 사용해주었다.
그래서 바꿔야 하는 거와 바꿔줘야 하는 거를 각 작성하여 수월하게 문제를 풀 수 있었다.
// rny_string ('m'을 "rn"으로 바꾸는 과정)
class Solution {
fun solution(rny_string: String): String {
var answer: String = rny_string.replace("m", "rn")
return answer
}
}
이 문제도 위와 마찬가지로 m을 rn으로 바꿔주면 되는 문제여서 replace를 사용해서 문제를 쉽게 풀 수 있었다.
단 문자형이기때문에 ""를 해줘야 한다는 부분은 잊지말아야 한다!!
// 공백으로 구분하기
class Solution {
fun solution(my_string: String): Array<String> = my_string.split(" ").toTypedArray()
}
공백으로 구분하는 거였는데 split을 사용하여 분리하였고 이로써 공백을 만든 다음 배열 타입으로 변환하는 toTypedArray를 사용해주어 문제를 풀 수 있었다.
// 특정 문제 제거하기
class Solution {
fun solution(my_string: String, letter: String): String = my_string.replace(letter,"")
}
음 특정 문제를 제거하는 것이니까 remove 같은 것을 사용해야 하나? 아니면 다른 삭제하는 문법이 있나? 생각해보았지만 간편케 하기 위해서 이번에도 replace를 사용해주었다......replace를 통해 letter 안에 어떠한 string 값이 오더라도 그것을 아무런 값이 없는 null 값으로 변환할 수 있기 때문이다.
그래서 이 문제도 별 문제 없이 해결할 수 있었다!!
'코딩테스트' 카테고리의 다른 글
TIL 20240609 코딩 테스트(9) (0) | 2024.06.09 |
---|---|
TIL 20240607 코딩 테스트(8) (0) | 2024.06.07 |
TIL 20240601 코딩테스트 (6) (0) | 2024.06.01 |
TIL 20240528 코딩테스트 (5) (2) | 2024.05.28 |
TIL 20240525 코딩테스트 (4) (0) | 2024.05.25 |