문제 괄호가 입력되면 올바른 괄호이면 “YES", 올바르지 않으면 ”NO"를 출력합니다. (())() 이것은 괄호의 쌍이 올바르게 위치하는 거지만, (()()))은 올바른 괄호가 아니다. 풀이 function solution(s) { let answer = "YES"; let stack = []; let first, last = ""; (first = s[0]), (last = s[s.length - 1]); if (first !== "(" || last !== ")") return "NO"; for (let x of s) { if (x === "(") stack.push(x); else { if (stack.length === 0) return "NO"; stack.pop(); } console.log..
문제 S문자열에서 T문자열과 아나그램이 되는 S의 부분문자열의 개수를 구하는 프로그램을 작성하 세요. 아나그램 판별시 대소문자가 구분됩니다. 부분문자열은 연속된 문자열이어야 합니다. 풀이 function solution(s, t) { let answer = ""; let str = ""; s = s.split(""); t = t.split(""); let map2 = new Map(); for (let x of t) { if (map2.has(x)) map2.set(x, map2.get(x) + 1); else map2.set(x, 1); } //console.log(map2); for (let i = 0; i < s.length - t.length + 1; i++) { str = ""; let map1..
문제 Anagram이란 두 문자열이 알파벳의 나열 순서를 다르지만 그 구성이 일치하면 두 단어는 아 나그램이라고 합니다. 예를 들면 AbaAeCe 와 baeeACA 는 알파벳을 나열 순서는 다르지만 그 구성을 살펴보면 A(2), a(1), b(1), C(1), e(2)로 알파벳과 그 개수가 모두 일치합니다. 즉 어느 한 단어를 재 배열하면 상대편 단어가 될 수 있는 것을 아나그램이라 합니다. 길이가 같은 두 개의 단어가 주어지면 두 단어가 아나그램인지 판별하는 프로그램을 작성하세 요. 아나그램 판별시 대소문자가 구분됩니다. 풀이 function solution(str1, str2) { let answer = "YES"; const map1 = new Map(); for (let x of str1) { i..
문제 학급 회장을 뽑는데 후보로 기호 A, B, C, D, E 후보가 등록을 했습니다. 투표용지에는 반 학생들이 자기가 선택한 후보의 기호(알파벳)가 쓰여져 있으며 선생님은 그 기호를 발표하고 있습니다. 선생님의 발표가 끝난 후 어떤 기호의 후보가 학급 회장이 되었는지 출력하는 프로그램을 작 성하세요. 반드시 한 명의 학급회장이 선출되도록 투표결과가 나왔다고 가정합니다. 풀이 function solution(s) { let answer; s = str.split(""); let max = Number.MIN_SAFE_INTEGER; // console.log(s); let object = { A: 0, B: 0, C: 0, D: 0, E: 0 }; for (let i = 0; i < s.length; i..
문제 현수의 아빠는 제과점을 운영합니다. 현수 아빠는 현수에게 N일 동안의 매출기록을 주고 연속 된 K일 동안의 최대 매출액이 얼마인지 구하라고 했습니다. 만약 N=10이고 10일 간의 매출기록이 아래와 같습니다. 이때 K=3이면 12 15 11 20 25 10 20 19 13 15 연속된 3일간의 최대 매출액은 11+20+25=56만원입니다. 여러분이 현수를 도와주세요. 풀이 function solution(k, arr) { let answer, sum = 0; let rt = 0, lt = 0; let max = Number.MIN_SAFE_INTEGER; for (let i = 0; i k) sum ..

문제 N개의 수로 이루어진 수열이 주어집니다. 이 수열에서 연속부분수열의 합이 특정숫자 M이하가 되는 경우가 몇 번 있는지 구하는 프로그 램을 작성하세요. 만약 N=5, M=5이고 수열이 다음과 같다면 1 3 1 2 3 합이 5이하가 되는 연속부분수열은 {1}, {3}, {1}, {2}, {3}, {1, 3}, {3, 1}, {1, 2}, {2, 3}, {1, 3, 1}로 총 10가지입니다. 풀이 function solution(m, arr) { let answer = 0, lt = 0, sum = 0; for (let rt = 0; rt m) { sum -= arr[lt+..

문제 N개의 수로 이루어진 수열이 주어집니다. 이 수열에서 연속부분수열의 합이 특정숫자 M이 되는 경우가 몇 번 있는지 구하는 프로그램을 작성하세요. 만약 N=8, M=6이고 수열이 다음과 같다면 1 2 1 3 1 1 1 2 합이 6이 되는 연속부분수열은 {2, 1, 3}, {1, 3, 1, 1}, {3, 1, 1, 1}로 총 3가지입니다. 풀이 function solution(m, arr) { let answer = (sum = 0); let lt = 0; let rt = 0; let n = arr.length; let cnt = 0; sum = 0; while (rt m) { sum = sum - arr[lt]; lt++; } } answer = cnt; return answer; } let a = ..
문제 A, B 두 개의 집합이 주어지면 두 집합의 공통 원소를 추출하여 오름차순으로 출력하는 프로 그램을 작성하세요. 풀이 function solution(arr1, arr2) { let answer = []; arr1.sort((a, b) => a - b); arr2.sort((a, b) => a - b); let n = arr1.length; let m = arr2.length; let p1 = (p2 = 0); while (p1 a - b); let n = arr1.l..
- Total
- Today
- Yesterday
- error
- import/order
- env
- C언어
- nodejs
- Storybook
- jest
- 프리온보딩
- WSL2
- 프론트앤드
- nextjs
- javascript
- createPortal
- 스토리 북
- TopLayer
- 북클럽
- 노개북
- 우아한테크코스
- 아차산
- 노마드코더
- NextRequest
- CLASS
- 윤성우 열혈C프로그래밍
- 초보
- 원티드
- 위코드
- electron
- NextApiRequest
- React
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |