문제 링크 https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr input으로 숫자 배열이 주어진다. 배열의 숫자는 폰켓몬의 종류를 의미하고, 우리는 nums/2 만큼의 폰켓몬을 고른다. 고른 폰켓몬 중에 최대로 많은 종을 뽑는 경우의 숫자를 리턴하는 문제이다. 문제 결과 입출력 예 #2 6마리의 폰켓몬이 있으므로, 3마리의 폰켓몬을 골라야 합니다. 가장 많은 종류의 폰켓몬을 고르기 위해서는 3번 폰켓몬 한 마리..
문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작..
문제 설명 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 따라 1cm × 1cm의 정사각형으로 잘라 사용할 예정이었는데, 누군가가 이 종이를 대각선 꼭지점 2개를 잇는 방향으로 잘라 놓았습니다. 그러므로 현재 직사각형 종이는 크기가 같은 직각삼각형 2개로 나누어진 상태입니다. 새로운 종이를 구할 수 없는 상태이기 때문에, 이 종이에서 원래 종이의 가로, 세로 방향과 평행하게 1cm × 1cm로 잘라 사용할 수 있는 만큼만 사용하기로 하였습니다. 가로의 길이 W와 세로의 길이 H가 주어질 때, 사용할 수 있는 정사각형의 개수를 구하는 solutio..
문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. 예제 // input 4 2 // output 1 2 1 3 1 4 2 1 2 3 2 4 3 1 3 2 3 4 4 1 4 2 4 3 // 백준에서 N,M을 input으로 입력받기 위한 과정 var fs = require('fs'); var input = fs.rea..
문제 설명 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 입출력 예 #1 [1,2,4]를 이용해서 7을 만들 수 있습니다. 입출력 예 #2 [1,2,4]를 이용해서 7을 만들 수 있습니다. [1,4,6]을 이용해서 11을 만들 수 있습니다. [2,4,7]을 이용해서 13을 만들 수 있습니다. [4,6,7]을 이용해서 17을 만들 수 있습니다. input으로 주어진 nums 숫자 배열에서 3개의 숫자를 뽑아 합을 구했을 때, 소수가 되는 경우의 수를 구하는 문제이다. [..
[Input] d는 부서별로 신청한 금액이 들어있는 배열이며, 길이(전체 부서의 개수)는 1 이상 100 이하입니다. d의 각 원소는 부서별로 신청한 금액을 나타내며, 부서별 신청 금액은 1 이상 100,000 이하의 자연수입니다. budget은 예산을 나타내며, 1 이상 10,000,000 이하의 자연수입니다. 각 부서별로 신청한 금액을 작은 순으로 나열하여, 정해진 예산 안에서 가장 많은 부서에 지원하면 되겠다! 고 생각했다. 처음에는 sort를 바로 생각하지 못하고, for문을 돌려 가장 최소값을 찾아서 answer에 더해주고 d라는 신청 금액 배열에서 제외하여 다시 최소값을 찾는 비효율적인 방법을 생각했다. 그런데 sort 한번이면 for문 한 번으로 답을 찾을 수 있다. 이 때, d.sort()..
[input -> output] s라는 문자열이 input으로 들어올 때, 변환되지 않은 문자열을 숫자의 형태로 바꾸어 number 형태로 반환하는 문제이다. 나의 경우 어떻게 문자열을 숫자로 변환할 수 있을까 생각하던 중 replace 함수가 떠올랐다. 하지만 replace 함수는 처음에 발견하는 string에 대해서만 변환을 해주기 때문에, s에 속한 모든 문자열을 변환하려면 정규식을 사용해야했다. text.replace(/c/g, "변환하려는 문자"); 위와 같이 사용하면 문자열에 속한 "c"라는 문자를 모두 변환할 수 있다. 하지만 이 문제의 경우 변수에 담긴 문자열을 찾고 싶은 것이기 때문에 다른 방식이 필요했다. 변수를 활용하여 문자열 대체가 필요할 때에는 아래의 코드와 같이 RegExp 를 ..
react에서 함수형 컴포넌트를 사용할 때 life cycle을 useEffect hook을 사용해서 관리한다. 그 중에서 useEffect에 빈 array []를 dependency로 설정해주면 componentDidMount와 같은 역할을 하게 된다. useEffect(() => { readApplicationForms(); },[]); 이 코드는 처음 component들이 mount 되었을 때, readApplicationForms() 함수를 실행한다는 것을 의미한다. 그런데 실행했을 때 다음과 같은 warning을 확인할 수 있다. 만약 componentDidMount를 대신하는 부분이 아니였다면 dependency에 연관된 state 변수를 넣어줬겠지만, 컴포넌트가 마운트 될 때 한 번만 실행하..
보호되어 있는 글입니다.
자식에서 부모 컴포넌트로 이번 프로젝트에서 사용했던 방식 import React, { useState } from 'react'; function App() { return ( ); }; const Parent = (props) => { const [data, setData] = useState("initial data"); ... panToNaver(lat, lng, zoom) { this.setState({ center: { lat: lat, lng: lng }, zoom: zoom, circlePosition: { lat: lat, lng: lng } }); } ... return ( {data} ); }; const Child = (props) => { return ( props.panToNave..
- Total
- Today
- Yesterday
- 소프티어
- 자바스크립트
- programmers
- level1
- css
- reactjs
- nomadcoder
- Hook
- 기초
- 이코테
- React
- axios
- 이것이코딩테스트다
- springboot
- dfs
- CORS
- html
- TypeScript
- React.FC
- 상태관리
- level3
- 이것이 취업을 위한 코딩테스트다
- 파이썬
- 프로그래머스
- 노마드코더
- redux
- CS
- 면접을 위한 CS 전공지식 노트
- JavaScript
- 이진탐색
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |