본문 바로가기

분류 전체보기159

2021.8.13 TIL (stack, queue 를 이용한 알고리즘 3) 목차 1. Prefix 연산 2. 쇠 막대기 절단 개수 3. 공주 구하기 Postfix 연산 (stack) 해당 연산을 구현하는 함수 만들기. (3 * (5 + 2))- 9를 postfix로 표현하면 352+*9-다. 위의 예를 postfix 식으로 표현하는 과정은 다음과 같다. (3 * (5 + 2)) - 9 (3 * (5 + 2)) 9 - 3 (5 + 2) * 9 - 3 5 2 + * 9 - function postfix(str) { let answer; // code here; return answer; } let str = '352+*9-'; console.log(postfix(str)); //12 답) postfix 로 구현된 식을 stack을 이용해서 원래의 식(infix)로 표현해보자 [] .. 2021. 8. 13.
해외 입국자 입국 전 준비사항 및 자가 격리 시설 장단점 비교 (에어비앤비 vs 호텔 격리) 해외 입국자 '자가 격리'에 대해 입국 전 준비 사항은 무엇인지, 자가 격리 시설의 종류는 어떻게 되는지 글로 남겨볼게요. 입국 전 준비사항 : 출발일 기준 72시간 이내 발급된 PCR 음성확인서 음성 확인서가 없을 경우 한국으로 출발이 가능한 국가들이 몇 몇 있지만, 외국인의 경우 입국이 불가능하며 내국인의 경우 자가 격리가 아닌 국가가 지정한 시설로 격리됩니다. 만 5세 이하의 아동은 PCR 테스트 면제입니다. 베트남의 경우 항공기 출발 기준 72시간 이내의 PCR 테스트가 없을 경우 출국이 불가능합니다. 또한 한국과 달리 만 5세 이하의 아동도 테스트 결과가 없을 경우 출국이 금지됩니다. 한국인 이름이 낯설기 때문에 발급하는 사람의 실수로 여권과 다른 이름이 기재된 경우가 많습니다. 반드시 검사지를.. 2021. 8. 11.
2021.8.10 TIL 괄호 여닫힘 문제 _ 스택 알고리즘 올바른 괄호 괄호가 잘 닫혀 있는지 체크하는 함수 function solution(str) { let answer; // code here return answer; } let ex1 = '(()(()))(()' console.log(solution(ex1)); // false let ex2 = '(()()))' console.log(solution(ex2)); // false let ex3 = '(())()' console.log(solution(ex3)); // true 답) function solution(str) { let open = '(', close = ')'; let sum = 0; for(let el of str) { if(sum < 0) return false; el === open ?.. 2021. 8. 10.
2021.8.8 TIL 학급회장, 아나그램 (해쉬, 투포인터, 슬라이더) 학급 회장 (해쉬) A, B, C, D, E 후보 중에서 가장 많이 뽑힌 후보는 누구인가? function solution(str) { let answer; // code here; return answer; } let str = "BACBACCACCBDEDE"; console.log(solution(str)); // C 답) object 를 이용 object 의 keys 배열 구하기 => Object.keys(obj) object 의 values 배열 구하기 => Object.values(obj) object의 특정 value값을 갖는 key를 구하기 => Object.keys(obj).find(key => obj[key] === value) function solution(str) { let answ.. 2021. 8. 8.
2021.8.7 TIL 공통 원소, 연속 부분수열 합, k일 연속 최대 매출합 공통 원소 A, B 두 개의 집합이 주어지면 두 집합의 공통 원소를 추출하여 오름차순으로 출력 function solution(a, b) { let answer; // code here; return answer; } let a = [1, 3, 9, 5, 2]; let b = [3, 2, 5, 7, 8]; console.log(solution(a, b)); // [2,3,5] 답) 중복을 허용하지 않는 Set()을 이용 function solution(a, b) { let answer = []; let mySet = new Set(a); for(let el of b) { mySet.has(el) ? answer.push(el) : null; } return answer.sort((a, b) => a - .. 2021. 8. 7.
2021.8.6 TIL 졸업선물,k번째합,두 배열 합치기 졸업 선물 학생에게 한정된 예산으로 가장 많은 선물을 할 수 있는 경우의 수는? 50% 할인 쿠폰을 한 번만 쓸 수 있다. 배송비 적용 안됨 상품값과 배송값으로 이루어진 배열이 주어진다. 매개변수는 배열과 선생님의 예산이다. function solution(arr, num) { let answer; // code here; return answer; } let example = [[6, 6], [2, 2], [4, 3], [4, 5], [10, 3]]; console.log(solution(example, 28)); //4 틀린 답) 최대 상품의 값을 구하고 그 값을 50% 할인한다. 그 후 상품값과 배송값을 더 한 배열을 만든다. 그 배열을 작은 수 순으로 정렬하고 예산 안에서 가능한 경우를 구한다. .. 2021. 8. 7.