목록분류 전체보기 (38)
섭스토리

백준 2798번 브론즈 2 https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net let [NM, input] = prompt().replace(/\r/gi, "").split("\n"); const N = NM.split(" ")[0] / 1; const M = NM.split(" ")[1] / 1; let card = input.split(" ").map((v) => v / 1); let solve = []; for..

백준 1920번 실버 4 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net let fs = require('fs'); let [N, a, M, b] = fs.readFileSync('/dev/stdin').toString().split('\n'); let A = a.trim().split(" ").sort(); let B = b.trim().split(" "); const binarySearch =..

백준 1259번 브론즈 1 https://www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 우영우 스위스 토마토 기러기 역삼역 헤헤 let input = prompt().split("\n"); input.pop(); for (k of input) { for (let i = 0; i

백준 1436번 실버 5 https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net N을 입력받고 조건을 만족하는 N 번째로 작은 숫자 출력 --> count하는 변수 설정, 1씩 더하면서 N과 같아지면 출력 665 부터 더해가면서 '666'이 포함된 숫자를 찾습니다. let find = prompt(); let input = parseInt(find); let num = 665; let count = 0; let i = 0; let doom = '66..

백준 1181번 실버 5 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 신경써야 할 것은 1. 길이가 짧은 것 부터 오름차순 정렬! 2. 중복되는 단어 제거 3. 만약 길이가 같으면 사전 순으로! const [n, ...words] = require("fs").readFileSync("/dev/stdin").toString().trim().split("\n"); Array.from(new Set(words)) .sort((a, b)..

✅Array.sort() 백준을 풀다가 보면 배열 내의 문자의 길이를 오름차순으로 정렬, 숫자를 내림차순으로 정렬하라는 요구사항이 많습니다. 이 함수를 알기 전에는 for 문으로 반복문을 구성해서... 인덱스로 접근해서 다음 인덱스랑 비교하고... 난리를 피웠는데, sort()는 굉장히 유용하더라고요! 하지만 처음 sort()를 보면 직관적으로 쉽게 해석되지가 않기 때문에 정확한 이해를 위해 정리해봅니다. sort() 함수는 기본적으로 오름차순으로 정렬이 됩니다. let array = [3,9,2,6,1]; console.log(array.sort()); //[1, 2, 3, 6, 9] 하지만 먼저 각 요소를 문자열로 반환해서 비교를 하기 때문에 let array = [3,20,10,2,30,1]; co..

✅호이스팅, let 과 var의 차이 호이스팅이란, 함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위의 최상단에 선언하는 것을 말합니다. 다시 말해 변수와 함수의 메모리 공간을 미리 할당해두는 것이죠! 자바스크립트 엔진은 코드를 실행하기 전 실행 컨텍스트를 위한과정에서 모든 선언(var, let, const, function, class)을 스코프에 등록합니다. (스코프 = 변수와 선언이 유효한 범위) 그리고 코드를 실행시킬 때, 함수 안에 존재하는 변수/함수선언에 대한 정보를 기억하고 있다가 실행시킵니다. var 키워드로 선언한 변수와 함수 선언문일 경우 선언문보다 참조나 호출이 먼저 나와도 오류 없이 동작합니다. 그러나 let과 const 키워드로 선언한 변수들은 선언문 보다 참조나 호출..

✅ JavaScript 객체, this, 생성자 함수의 정의 구글링해서 코드를 보다가 객체 생성을 해놓은 코드를 보면 '아, 이게 객체구나' 정도로만 알고 있었던 객체와 this, 생성자 함수에 대해서 좀 더 심화적인 공부를 하고 싶었습니다. JavaScript는 객체기반의 스크립트 언어이며 JavaScript를 이루고 있는 거의 모든 것은 객체입니다. 객체란 여러 속성을 하나의 변수에 저장할 수 있도록 해주는 데이터 타입으로 Key 와 Value 를 저장할 수 있는 구조입니다. JavaScript 객체의 종류는 세 가지가 있습니다. 기본내장객체는 기본적으로 컴퓨터 언어라면 내장하고 있는 객체입니다. 오늘 배울 것은 이 기본내장객체에 Object입니다. BOM (Browser Object Model) 과..

🥝 '구체적인 기능의 완성과정(내부 동작 원리)를 언급하지 않고, 순수하게 기능이 무엇인지를 나열한 것' ▶추상적 자료형(ADT)은 구현 방법을 명시하고 있지 않다는 점에서 자료구조와 다릅니다. 쉽게 설명을 드리기 위해 지갑을 예로 들어볼게요. 지갑의 기능에는 무엇이 있는지 부터 생각해봅시다. 👉 지갑의 기능?👈 1. 카드의 삽입 2. 카드의 추출 3. 동전의 삽입 4. 동전의 추출 5. 지폐의 삽입 6. 지폐의 추출 지갑의 가격과, 무슨 가죽으로 만들었으며, 지갑을 만드는 공정 과정을 설명하지 않고, 오로지 지갑의 기능을 나열함으로써 정의를 하는 방식이라고 생각하면 쉽습니다. 같은 방식으로 스택의 ADT에 대해서 설명을 해보겠습니다. - FILO : First In Last Out - 가장 최근에 들어..

백준 1037번 브론즈 1 https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split('\n'); let num = input[0]; let res = input[1].split(" "); res.sort(function (a, b) { return a - b; }); console.log(res[0]..