반응형
▷ 문제 : 2019 카카오 개발자 겨울 인턴십 - 튜플 LV.2
▷ 해결 날짜 : 2022.03.08
▷ 소요 시간 : 20분
▷ 풀이 과정 :
생각보다 간단한 문제이다.
제한사항을 살펴보면 s가 표현하는 튜플의 원소는 1 이상 이라는 조건이 붙어있기 때문에,
"{{4,2,3},{3},{2,3,4,1},{2,3}}" 이 조건을 살펴보면 중복되는 녀석들만 제거해주고 사용하면 된다는걸 알 수 있다.
그래서 앞뒤로 {{}}를 제거해주고 숫자만을 남기기위해 "},{"를기준으로 잘라준다음 반환 조건에 맞게 정렬을 해주었다.
그 다음 튜플의 집합을 구하면 끝나는 구조였다.
▷ 구현
function solution(s) {
let answer = [];
let tuples = s.slice(2, -2).split(/},{/g).sort((a, b) => a.length - b.length);
tuples.forEach(v => {
let tuple = v.split(',');
answer.push(tuple.find(e => !answer.includes(e)));
});
return answer.map(e => Number(e));
}
▷ 복기 :
2단계 문제치고 난이도가 1단계 문제와 비슷하다...아마?
너무 쉬운문제라 이런것만 있으면 얼마나 좋을까싶다 그럼 아주 재밌게 풀텐데
그래도 성능 측면에서 좀 더 개선을 해야할 듯 하다 값이 커지면 생각보다 많이 느린 결과가 나오는걸 보니
반응형
댓글