목록분류 전체보기 (83)
kohigowild
🧐 프로토타입이란? 일반적으로 프로토타입(prototype)이란 원형이라는 뜻을 가진다. 자바스크립트는 프로토타입 기반 언어이다. 모든 객체들이 메서드와 속성들을 상속 받기 위한 템플릿으로써 프로토타입 객체를 가진다는 의미다. 우리가 함수라는 객체를 생성했을 때 그 객체에는 prototype이라는 object가 자동으로 생성된다. prototype에는 다시 constructor라는 객체가 자동으로 생성되어 서로를 참조할 수 있게 된다. Person.prototype.sum = function(){} 위의 코드를 통해서 prototype에 함수를 추가함으로써 여러 객체를 생성하였을 때 해당 함수를 사용할 수 있다. 예를 들어 Person이라는 object 안에 mitt, kim이 있는 경우, mitt.su..
k진수에서 소수 개수 구하기 👾 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소수 오른쪽에만 0이 있고 왼쪽에는 아무것도 없는 경우 0P처럼 소수 왼쪽에만 0이 있고 오른쪽에는 아무것도 없는 경우 P처럼 소수 양쪽에 아무것도 없는 경우 단, P는 각 자릿수에 0을 포함하지 않는 소수입니다. 예를 들어, 101은 P가 될 수 없습니다. 예를 들어, 437674을 3진수로 바꾸면 211020101011입니다. 여기서 찾을 수 있는 조건에 맞는 소수는 왼쪽부터 순서대로 211, 2, 11이 있으며, 총 3개입니다. (211, 2, 11을 k진..
✨ 자료구조 여러 데이터의 묶음을 저장하고 효율적으로 사용하는 방법을 정의한 것 특정한 상황에 놓인 문제를 해결하는 데 특화 ✨ 스택(Stack)과 큐(Queue) 스택과 큐 모두 Linear한(선형) 자료 구조이다. 이 둘은 아주 유사한 구조이나, element가 제거되는 방식에 차이가 있다. 스택은 마지막으로 삽입된 element가 가장 먼저 제거되는 방식인 LIFO(Last In First Out, 후입선출) 자료구조이다. 스택의 예시로는 브라우저 히스토리(이전 페이지, 다음 페이지) 또는 ctrl + z로 이전 작업을 취소하는 동작 등을 들 수 있다. 큐는 FIFO(First In First Out, 선입선출) 자료구조이다. 줄 서기를 생각하면 된다. 큐의 예시로는 예매 앱, 레스토랑 예약 등을 ..
2016년 👾 문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. 👾 제한 사항 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 👾 나의 답안 function solution(a, b) { return new Date(2016, a - 1, b).toString().split(" ")[0..
하샤드 수 👾 문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 👾 제한 사항 x는 1 이상, 10000 이하인 정수입니다. 👾 나의 답안 function solution(x) { const arr = String(x).split("").map((x) => +x); return x % arr.reduce((a, b) => a + b) == 0 ? true : false; } x를 split한 배열 arr을 선언하고, x를 arr의 합으로 나눴을 때 나머지가 0이면 tru..
🔍 정규 표현식(Regular Expression) 정규식은 문자열에서 특정 내용을 찾거나 대체, 또는 발췌하는 데 사용된다. 예를 들어 회원가입 화면에서 사용자로부터 입력 받는 전화번호가 유효한지 체크할 필요가 있다. 이때 정규 표현식을 사용하면 간단히 처리할 수 있다. 반복문과 조건문을 사용한 복잡한 코드도 정규 표현식을 이용하면 매우 간단하게 표현할 수 있다. 그러나 정규 표현식은 주석이나 공백을 허용하지 않고, 여러가지 기호를 혼합하여 사용하기 때문에 가독성이 좋지 않다는 문제가 있다. 정규 표현식은 리터럴 표기법으로 생성할 수 있다. 정규 표현식 리터럴은 아래와 같이 표현한다. 🔍 정규 표현식 활용 예시 💡 오늘만 특가, 오징어 땅콩 180g * 16개 32,600원. 오직 mittmall에서만..
괄호 회전하기 👾 문제 설명 다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다. (), [], {} 는 모두 올바른 괄호 문자열입니다.만약 A가 올바른 괄호 문자열이라면, (A), [A], {A} 도 올바른 괄호 문자열입니다. 예를 들어, [] 가 올바른 괄호 문자열이므로, ([]) 도 올바른 괄호 문자열입니다.만약 A, B가 올바른 괄호 문자열이라면, AB 도 올바른 괄호 문자열입니다. 예를 들어, {} 와 ([]) 가 올바른 괄호 문자열이므로, {}([]) 도 올바른 괄호 문자열입니다. 대괄호, 중괄호, 그리고 소괄호로 이루어진 문자열 s가 매개변수로 주어집니다. 이 s를 왼쪽으로 x (0 ≤ x < (s의 길이)) 칸만큼 회전시켰을 때 s가 올바른 괄호 문자열이 되게 하는 x의 개수를..
예상 대진표 👾 문제 설명 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 참가자끼리 게임을 진행합니다. 각 게임에서 이긴 사람은 다음 라운드에 진출할 수 있습니다. 이때, 다음 라운드에 진출할 참가자의 번호는 다시 1번부터 N/2번을 차례대로 배정받습니다. 만약 1번↔2번 끼리 겨루는 게임에서 2번이 승리했다면 다음 라운드에서 1번을 부여받고, 3번↔4번에서 겨루는 게임에서 3번이 승리했다면 다음 라운드에서 2번을 부여받게 됩니다. 게임은 최종 한 명이 남을 때까지 진행됩니다. 이때, 처음 라운드에서 A번을 가진 참가자는 경쟁자로 생각하는 B..