튜플
프로그래머스 튜플(문자열 다루기, forEach, map 배열 변경)
정말 정말 올만에 스스로 만족하는 풀이 ㅠㅠ
import java.util.*;
class Solution {
fun solution(s: String): IntArray {
val answer = ArrayList<Int>()
// 문자열을 나누기, 주의!!! MutableList로 변환해줘야 직접 가공 가능
var stringArr: MutableList<String> = s.split("},{").toMutableList()
// 배열의 첫번째, 마지막 원소의 대괄호 제거
stringArr[0] = stringArr[0].replace("{","")
stringArr[stringArr.size-1] = stringArr[stringArr.size-1].replace("}","")
// 나눠진 문자열 속 ',' 개수를 세어 배열에 담기
var countArr = stringArr.map{s->s.filter { it == ',' }.count()}
for( i in 0..countArr.size-1){
// ',' 개수가 적은 순으로 인덱싱
stringArr[countArr.indexOf(i)].split(",").forEach{s->
val num = s.toInt() // String -> Int
if(!answer.contains(num)) answer.add(num)
}
}
// ArrayList를 IntArray형으로 변환
return answer.toIntArray()
}
}