javascript78 [백준 2164/javascript] 카드2 세상에 마상에 끔찍해라 자바스크립트에서는 큐와 스택 등 기본적인 자료구조를 내부 함수로 제공하지 않는다!!! 쓰고 싶으면 직접 구현해서 써야된다. 있는게 뭐야 자바스크립트는! 그나마 자바스크립트의 배열에서 push 와 shift 로 큐처럼 사용할 수 있지만, 배열로 문제 제출시 시간초과가 뜬다 자바스크립트 배열의 경우 shift 는 앞의 요소를 지우고 전체 배열을 하나씩 앞으로 당기는지라 너무 비효율적이고 시간복잡도가 팍팍 오른다 그래서 다음엔 자바스크립트로 직접 큐를 구현해봤는데 단일 연결 리스트로 구현했더니 연산이 꼬여서 예상치 못한 에러가 발생... 이중 연결 리스트로 구현해서 겨우 풀었다. 이중 연결 리스트로 풀면서 단일 연결리스트에서의 에러 원인도 찾게 되었다. 큐의 메소드로 front() 를 .. 2022. 8. 13. [백준 1158/c++] 요세푸스 문제 c++ 만 풀다가 자바스크립트로 푸니 역시 불편하다 팔 다리 다 묶고 기억 리셋하고 처음부터 시작하는 느낌이다... 문제 자체는 인덱스 돌며 빼주기만 하면 되는 간단한 문제이다 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net let input; let n; let k; const readline = require("readline").createInterface({ input: process.stdin, output: process.stdout, }); readline.on("line", (line) => { input = line.s.. 2022. 8. 12. filter 함수 사용법 자바스크립트내에는 요소들을 돌며 체크해서 조건에 맞는 것만 배열로 리턴시켜주는 filter라는 함수가 있다 요소를 돌아야 하므로 배열이나 문자열같은 반복자가 돌 수 있는 곳만 사용 가능하다 기본 형태는 다음과 같다 배열.filter(요소의 조건을 체크할 함수) // 배열 외에 문자열 등도 가능 반드시 3개의 인자를 다 쓸 필요는 없으며 필요하면 1, 2, 3 개의 인자를 자유롭게 사용하면 된다 예를 들어 arr = '1, 2, 3, 4, 5'; 라고 할때 이를 요소별로 나누고(split), 나눈 요소들이 조건에 맞는 것만 취하려고 할때(filter) 를 사용하면 된다 위의 arr 중에 3이상인 요소만 따로 배열 arr2로 받으려고 하면 // 앞 뒤 공백이 없으니 trim 은 생략하겠다 arr2 = arr.. 2022. 8. 12. 빈 문자열을 split 하면 빈 문자열이 담긴 배열을 리턴한다 주어진 문자열이 빈 문자열이고 그 빈 문자열을 split 하면 빈 문자열이 배열에 담겨 리턴된다 배열이 빈게 아니라 빈 문자열이 그대로 배열에 담기게 되니 주의하자 let arr = []; input = ''; arr = input.trim().split(' '); // 공백 말고도 split(/\s+/) 과 같이 정규 표현식으로 해도 마찬가지 결과다 console.log(arr) // [""] 빈 문자열이 하나의 요소로 들어가므로 arr.length === 1 이 되고 arr[0] = '' 이 된다 진짜 자바스크립트 넌 왜 이렇게 만들었대; 아오... 2022. 8. 12. 이전 1 ··· 16 17 18 19 20 다음