slice()
},{
를 기준으로 자르기: split()
,
기준으로 자르기: split()
includes()
function solution(s) {
const result = [];
const arr = s
.slice(2, -2)
.split('},{')
.map((e) => e.split(',').map(Number));
arr.sort((a, b) => a.length - b.length);
for (const a of arr) {
for (const b of a) {
if (!result.includes(b)) result.push(b);
}
}
return result;
}
이제 2중 반복문을 쓰면 찝찝해서 반신반의하면서 코드를 짰는데, 조건을 생각해보면 크게 문제가 없었다.
s
의 길이가 100만까지 나온다고 하지만 그건 문자열의 길이고, 가공해서 배열로 만들면 배열 요소의 길이는 그렇게 길지 않다. (최대 약 1400?)
가공한 배열 요소의 최대 길이와 result의 최대 길이는 10만인데 이 정도는 문제가 없나 보다.
아직 어느 정도는 적당하고 아닌지 잘은 모르겠다.