| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 백준
- 팀프로젝트
- c언어
- 알고리즘
- 혼자 공부해서 개발까지
- frontend
- HTML기초
- 정글
- 정렬
- 프로그래머스
- BFS
- 해시
- 그래프
- Git
- 크래프톤 정글
- 프론트앤드
- 프론트엔드
- 개발자
- Python
- 코딩테스트
- 그리디
- Mini-React
- js
- CSS
- html
- 알고리즘 기초
- javascript
- 코딩
- DFS
- react
- Today
- Total
목록js (10)
민혁이의 IT스토리
문제 설명n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다.-1+1+1+1+1 = 3+1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3+1+1+1+1-1 = 3사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요.제한 사항- 주어지는 숫자의 개수는 2개 이상 20개 이하입니다.- 각 숫자는 1 이상 50 이하인 자연수입니다.- 타겟 넘버는 1 이상 1000 ..
문제 설명다양한 모양과 크기의 명함들을 모두 수납할 수 있는 가장 작은 지갑을 만들려고 합니다. 모든 명함은 가로로 눕히거나 세로로 세워서 수납할 수 있습니다.예를 들어, 가로 크기가 80, 세로 크기가 50인 명함을 가로로 눕히면 (80, 50)이 되고, 세로로 세우면 (50, 80)이 됩니다. 모든 명함을 수납할 수 있는 가장 작은 지갑의 크기(가로 x 세로)를 리턴해주세요.문제 요약- 모든 명함의 가로, 세로 중 긴 쪽을 한 방향(예: 가로)으로 몰아넣는 것이 핵심입니다.- 그렇게 정렬된 상태에서 가로의 최댓값과 세로의 최댓값을 곱하면 정답이 됩니다. 출력 예 제출 코드function solution(sizes) { // 1. 각 명함의 가로, 세로를 비교해 작은 값이 앞에 오도록 정렬합니..
문제 설명H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과에 따르면, H-Index는 다음과 같이 구합니다.어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다.어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요.제한 사항-과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니다.- 논문별 인용 횟수는 0회 이상 10,000회 이하입니다. 출력 예 문제 요약주어진 인용 횟수 ..
문제 설명점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 체육 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다.전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수..
문제 설명전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다.전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다.구조대 : 119박준영 : 97 674 223지영석 : 11 9552 4421전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요.제한 사항phone_book의 길이는 1 이상 1,000,000 이하입니다.- 각 전화번호의 길이는 1 이상 20 이하입니다.- 같은 전화번호가 중복해서 들어있지 않습니다. 출력 예문제 요약주어진 전화..
문제 설명당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다.- 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택- 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택- ..
문제 설명수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.제한사항- 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다.- completion의 길이는 participant의 길이보다 1 작습니다.- 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다.- 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예participantcompletionreturn["leo", "kiki",..
Intro"도대체 JSX는 어떻게 브라우저 화면에 나타나는 걸까?" 우리는 매일 리액트로 개발을 하지만, 정작 npm start 뒤에서 일어나는 일은 마법처럼 느껴질 때가 많습니다. 단순히 라이브러리를 가져다 쓰는 것을 넘어, 리액트의 블랙박스를 열어보고 그 내부 원리를 깊이 이해하고 싶었습니다. 그래서 결심했습니다. "직접 한번 만들어보자!" 이번 포스팅에서는 리액트의 가장 심장이 되는 두 가지 함수, createElement(설계도 그리기)와 render(실제 건축하기)를 바닐라 자바스크립트로 구현한 과정을 기록합니다. 핵심 개념Virtual DOM: 가벼운 설계도 우리가 작성하는 JSX(...)는 사실 HTML이 아닙니다. 결국은 자바스크립트 객체일 뿐이죠. 이를 우리는 Virtual DOM(가상 ..