일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 스택
- never타입
- react
- styled-components
- 라이프사이클
- nextjs
- 버블정렬
- react-query
- Algorithm
- tailwindcss
- next.js
- 슬라이딩윈도우
- 투포인터
- 블로그만들기
- TypeScript
- isNaN
- 빅오
- js알고리즘
- JavaScript
- nestjs
- typscript
- cookie
- 그리디
- textarea autosize
- NextAuth
- 큐
- 해쉬
- aws lightsail
- 알고리즘
- 정렬
- Today
- Total
목록분류 전체보기 (114)
far
후위식 연산 후위연산식이 주어지면 연산한 결과를 출력하는 프로그램을 작성하세요. 만약 3*(5+2)-9 을 후위연산식으로 표현하면 352+*9- 로 표현되며 그 결과는 12입니다. 입력설명 첫 줄에 후위연산식이 주어집니다. 연산식의 길이는 50을 넘지 않습니다. 식은 1~9의 숫자와 +, -, *, / 연산자로만 이루어진다. 출력설명 연산한 결과를 출력합니다. 입력예제 352+*9- 출력예제 12 function solution(s){ let answer; let stack=[]; for (let i of s) { if(!isNaN(i)) { stack.push(Number(i)); } else { let num1 = stack.pop() let num2 = stack.pop() if (i === '+'..
괄호문자제거 입력된 문자열에서 소괄호 ( ) 사이에 존재하는 모든 문자를 제거하고 남은 문자만 출력하는 프로그램을 작성하세요. 입력설명 첫 줄에 문자열이 주어진다. 문자열의 길이는 100을 넘지 않는다. 출력설명 남은 문자만 출력한다. 입력예제 (A(BC)D)EF(G(H)(IJ)K)LM(N) 출력예제 EFLM // 내가 푼 것 function solution(s){ let answer = ""; let stack = []; for (let i of s) { if (i === "(") { stack.push(i) } else if (i === ")") { stack.pop() } else if (stack.length === 0) { answer += i } } return answer; } let str..
올바른 괄호 괄호가 입력되면 올바른 괄호이면 “YES", 올바르지 않으면 ”NO"를 출력합니다. (())() 이것은 괄호의 쌍이 올바르게 위치하는 거지만, (()()))은 올바른 괄호가 아니다. 입력설명 첫 번째 줄에 괄호 문자열이 입력됩니다. 문자열의 최대 길이는 30이다. 출력설명 첫 번째 줄에 YES, NO를 출력한다. 입력예제 (()(()))(() 출력예제 NO // 나의 풀이 function solution(s){ let answer="YES"; stack=[]; for (let i of s) { if (i === "(") { stack.push(i) } else { if (stack.length === 0) { answer = "NO" break; } stack.pop() } } if (sta..
꽤 예전에 했던 작업인데, Intersection Observer의 복습도 할 겸 메모를 해두려고 한다. 0. 들어가며 당시에 해외의 프론트엔드 포트폴리오 사이트를 보면 스크롤 위치에 따라 좌우로 움직이는 텍스트가 자주 나오는데 그걸 적용해보고 싶다는 생각이 들었다. 마침 Intersection Observer을 막 알게 되었을 때 였는데 이걸 사용하면 애니메이션을 쉽게 구현할 수 있을것 같았다. 그리고 하는 김에 Intersection Observer를 사용한 Fade in/out도 구현을 해보았다. 1. Intersecton Observer란? 일반적으로 Scroll 애니메이션을 사용하면 짧은 시간에 수 많은 이벤트가 동기적으로 실행되기 때문에 심각한 성능 문제로 이어지기도 한다. 그리고 위치를 계산..

1. 클로저 클로저는 함수와 그 함수가 선언된 렉시컬 환경과의 조합이다. const x = 1; function outerFunc() { const x = 10; function innerFunc() { console.log(x); // 10 } innerFunc(); } outerFunc(); 위의 예시를 보면 innerFunc의 상위 스코프는 outerFunc의 스코프다. 이 때 innerFunc는 outerFunc의 렉시컬 환경 안에 있는 변수 x에 접근이 가능하다. 1.1. 렉시컬 스코프 자바스클비트 엔진은 함수를 어디서 호출했는지가 아니라 함수를 어디에 정의했는지에 따라 상위 스코프를 결정한다. 이를 렉시컬 스코프(정적 스코프)라고 한다. 1.2. [[Environment]] 함수는 자신의 내부..
모든 아나그램 찾기 S문자열에서 T문자열과 아나그램이 되는 S의 부분문자열의 개수를 구하는 프로그램을 작성하세요. 아나그램 판별시 대소문자가 구분됩니다. 부분문자열은 연속된 문자열이어야 합니다. 입력설명 첫 줄에 첫 번째 S문자열이 입력되고, 두 번째 줄에 T문자열이 입력됩니다. S문자열의 길이는 10,000을 넘지 않으며, T문자열은 S문자열보다 길이가 작거나 같습니다. 출력설명 S단어에 T문자열과 아나그램이 되는 부분문자열의 개수를 출력합니다. 입력예제 bacaAacba abc 출력예제 3 출력설명: {bac}, {acb}, {cba} 3개의 부분문자열이 "abc"문자열과 아나그램입니다. // 나의 풀이 function compareMaps(map1, map2){ if(map1.size !== map..
아나그램 Anagram이란 두 문자열이 알파벳의 나열 순서를 다르지만 그 구성이 일치하면 두 단어는 아나그램이라고 합니다. 예를 들면 AbaAeCe 와 baeeACA 는 알파벳을 나열 순서는 다르지만 그 구성을 살펴보면 A(2), a(1), b(1), C(1), e(2)로 알파벳과 그 개수가 모두 일치합니다. 즉 어느 한 단어를 재배열하면 상대편 단어가 될 수 있는 것을 아나그램이라 합니다. 길이가 같은 두 개의 단어가 주어지면 두 단어가 아나그램인지 판별하는 프로그램을 작성하세요. 아나그램 판별시 대소문자가 구분됩니다. 입력설명 첫 줄에 첫 번째 단어가 입력되고, 두 번째 줄에 두 번째 단어가 입력됩니다. 단어의 길이는 100을 넘지 않습니다. 출력설명 두 단어가 아나그램이면 “YES"를 출력하고, 아..

innerHTML, innerText, textContent 모두 HTML의 텍스트값에 접근하고 수정 할 수 있지만 약간의 차이가 있다. 1. innerHTML innerHTML은 엘리먼트의 속성으로 엘리먼트내에 포함 된 HTML 또는 XML 마크업을 가져오거나 설정할 수 있다. // 기본 문법 const content = element.innerHTML; element.innerHTML = htmlString; // 활용 const animal = "Cat"; el.innerHTML = animal; animal = ""; el.innerHTML = animal; 위의 '활용' 코드 같은 경우 innerHTML로 삽입된 값을 설정할 때도 innerText는 텍스트값만 설정하기 때문에 태그를 문자열로 인..
학급 회장 학급 회장을 뽑는데 후보로 기호 A, B, C, D, E 후보가 등록을 했습니다. 투표용지에는 반 학생들이 자기가 선택한 후보의 기호(알파벳)가 쓰여져 있으며 선생님은 그 기호를 발표하고 있습니다. 선생님의 발표가 끝난 후 어떤 기호의 후보가 학급 회장이 되었는지 출력하는 프로그램을 작성하세요. 반드시 한 명의 학급회장이 선출되도록 투표결과가 나왔다고 가정합니다. 입력설명 첫 줄에는 반 학생수 N(5