2023/11/07 3

프로그래머스 level 1 - 신고 결과 받기(Javascript)

신고 결과 받기 배운 것, 유의할 것 객체를 사용한 문제 풀이 문제 자체는 이해안되는 점도, 구현의 어려운 점도 없었다. 객체를 사용해서 풀어서 뿌듯 배열에서 중복 값 삭제 const array = [1, 2, 3, 3, 4, 4, 5]; const set = new Set(array); const newArray = [...set] 객체에서 값만 뽑아 배열로 const obj = { a:1, b:2, c:3, d:4, } Object.valuse(obj) // [1, 2, 3, 4] 정답코드 function solution(id_list, report, k) { // 유저가 받은 결과 메일 수 var answer = []; // 동일인이 같은 유저를 여러번 신고해도 중복되지 않으므로 중복 제거 rep..

프로그래머스 level 2 - 두 큐 합 같게 만들기(Javascript)

두 큐 합 같게 만들기 배운 것, 유의할 것 시간초과와의 싸움(했다치고!) 문제 해결 방법을 찾는 것은 전혀 어려움이 없었다. 하지만 제한사항이 아래와 같아서 시간초과 등의 문제가 있을 것이 분명하긴 했다. 제한사항 1 ≤ queue1의 길이 = queue2의 길이 ≤ 300,000 1 ≤ queue1의 원소, queue2의 원소 ≤ 109 이런 저런 시도를 해본결과 정답케이스를 늘릴 수는 있었지만 모두 해결할 수 없어서 다른 분의 풀이를 보고 참고했다. 시간초과를 줄이기 위해 개선한 부분을 일부 적어보면, // 1. 큐 배열의 합계 업데이트 방식 // 매 반복에서 queue1과 queue2의 합을 업데이트 해주는 부분 // 최초에는 매 반복마다 추출과 삽입 이후 reduce를 써서 q1Sum과 q2Su..