
소속중인 A&I 동아리에서 코딩역량을 강화하고자
코딩캠프를 진행하며 작성한 포스트입니다.
주말을 제외한 모든 날에 하루 5문제씩
프로그래머스 Lv.0 문제에 대한 풀이입니다.
해당 포스트는kotlin을 기반으로 작성합니다.
해당 문제는 5명씩 짝을지어 그 리스트의 첫 사람의 이름을 가져와야 한다.
그래서 0부터 name 배열의 size를 가져와 step 5로 두고 5의 배수에 해당하는 이름을
list안에 추가해 주어 풀었다.
class Solution {
fun solution(names: Array<String>): Array<String> {
val list = mutableListOf<String>()
for(x in 0 until names.size step 5){
list.add(names[x])
}
return list.toTypedArray()
}
}
이 문제는 공백으로 구분하기 2의 더 쉬운 문제로
.split(" ")을 통해 공백으로 구분하여
그것이 List의 String형태로 반환되니.toTypeArray()를 통해 String Array로 변환해 주었다.
split(): 문자열을 괄호( ) 안 특정 문자를 기준으로 자를 때 사용함.
class Solution {
fun solution(my_string: String): Array<String> {
val answer = my_string.split(" ").toTypedArray()
return answer
}
}
가위 바위 보를 숫자 2 0 5로 두어 이기는 문자열을 반환해야 한다.
그래서 일단 rsp의 문자열을 List로 두고 그것을 반복문으로 인덱스를 가져와
그것이 2면 0을 5면 2를 아니면 0일테니 5를 result안에 추가해주는 식으로 풀었다.
class Solution {
fun solution(rsp: String): String {
val answer = rsp.toMutableList()
var result : String = ""
for(x in answer.indices){
if (answer[x] == '2'){
result += '0'
} else if (answer[x] == '5'){
result += '2'
} else{
result += '5'
}
}
return result
}
}
이 문제는 대소문자 구분없는 문자열을 준다. 그래서 처음에
.lowercase를 통해 모두 소문자로 만들고
.replace를 통해 'a'면 'A' 대문자로 바꾸어 주었다.
class Solution {
fun solution(myString: String): String {
return myString.lowercase().replace('a', 'A')
}
}
이 문제도 마찬가지로 소문자 문자열을 주고 alp를 강조해야 한다.
그래서 alp를 앞에 두고.uppercase()를 통해 해당 문자열을 강조했다.
class Solution {
fun solution(my_string: String, alp: String): String {
return my_string.replace(alp, alp.uppercase())
}
}
한 번 리스트와 배열을 변환하는 문제를 풀어보니 빠르게 풀 수 있었다.