전체 글73 [연습문제] PGS lv2. 롤케이크 자르기 - 토핑이 순서대로 올려진 케이크를 한조각 한조각, 둘로 잘라서 똑같은 토핑의 종류의 수가 되게하는 경우의수. 첫 시도는 그냥 배열 쭈욱 돌면서 좌, 우 slice, -> set 해서 토핑의 종류의 개수를 찾았는데 이렇게하니 시간초과가 뜸-> 해시맵으로 처음에 오른쪽 케이크를 구해놓고 왼쪽케이크에 옮겨가면서 매 for문을 돌때 slice, set을 안하도록 수정 function solution(topping) { let result = 0; const map = new Map(); const set = new Set(topping.slice(0,1)); const arr2 = topping.slice(1); arr2.forEach((num)=>{ const coun.. 2025. 10. 6. [2019 카카오 개발자 겨울 인턴십] lv2. 튜플 function solution(s) { const arr = s.replaceAll('\{',"").replaceAll('\}',"").split(",").map((i)=>i*1) const map = {} arr.forEach((num)=>{ map[num] = (map[num] || 0) +1; }) const sorted = Object.keys(map).sort((a,b)=>map[b]-map[a]).map((i)=>i*1); return sorted} 2025. 10. 6. [2018 KAKAO BLIND RECRUITMENT] PGS lv2. [1차] 캐시 /*- 캐시 크기: cacheSize- 도시 이름 배열: cities- 각 도시 이름; 공백,숫자,특수문자X 영문자로 구성, 대소문자 구분 XX, 최대 20자return: 입력된 도시이름 배열을 순서대로 처리할 때 "총 실행시간" 출력조건 : 캐시 교체 알고리즘 : LRU (Least Recently Used)- cache hit : 실행시간 - 1- cache miss : 실행시간 - 5*/function solution(cacheSize, cities) { let totalExecutedTime = 0; const queue = []; const cacheHit = 1; const cacheMiss = 5; cities.map((city)=>city.toLowerCase(.. 2025. 9. 15. [완전탐색] PGS lv2.피로도 [내가 푼 방법] - 순열을 구해서 전체 탐색 -> maximum 구하기function solution(k, dungeons) { let curr; let currDungeons = dungeons.slice(); const perms = getPermutations(currDungeons); let max = 0; perms.forEach((perm, i) => { curr = k; let result =0 ; perm.forEach(([min, use]) => { if(curr>=min){ curr -= use; result +=1;.. 2025. 9. 15. [Summer/Winter Coding(~2018)] PGS lv2. 점프와 순간이동 여러번 시도 후 오늘 생각을 가볍게 해봤더니 성공- 이때 까지 시도할 땐 당연히 밑에서부터 배터리를 쌓으면서 거리에 도달하는 것만 생각했는데 다시 생각해보니 distance 0 부터 n까지 갈 필요가 없었음. 2배 밖에 못하니까 음수일땐 나누어지는수를 1빼주고, 1뺀건 무조건 이동했다는 의미 ( 배터리 소모) 하기때문에 또 나눠질때까지 2로 나눠줌그럼결국 1 까지 도달하기때문에 1씩빼준 거리 즉 1씩 이동한 거리만 배터리 소모값을 더해주면됨/**- K칸 앞으로 점프 or (현재까지 온거리) *2 해당 "위치"로 순간이동- 순간이동- 건전지X, K점프 -건전지 사용량듦=> 순간 이동이 더 효율적임N만큼 떨어진 장소로 이동하려함단, 건전지 사용량을 줄이기 위해 점프로 이동하는것 최소화, return: 건전지.. 2025. 9. 15. [해시] PGS lv2. 의상 function solution(clothes) { const map = {}; clothes.forEach(([cloth, type])=>{ map[type] = (map[type] || 0) + 1; }) const possibility= Object.values(map).reduce((acc,cur)=>{ return acc * (cur+1); },1) return possibility-1} 2025. 9. 14. 이전 1 2 3 4 ··· 13 다음