본문 바로가기

전체 글138

[백준/nodejs/1085] 직사각형에서 탈출 javascript (0,0) 과 (w,h) 에 꼭짓점이 있고 주어진 (x,y)좌표에서 가장 가까운 거리를 가진 거리를 제출하면 된다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split(' '); const [x,y,w,h] = input; let res = []; res.push(x) res.push(y) res.push(Math.abs(x-w)) res.push(Math.abs(y-h)) console.log(Math.min(...res)) x,y,w,h를 구조분해할당으로 각각 받아서 x-0 , y-0, x-w, y-h 중 가장 작은 값을 찾으면 됨. 2021. 8. 11.
[프로그래머스] 거리두기 확인하기 javascript javscript 거리두기 확인하기 문제풀이 https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr bfs로 문제를 풀었습니다. 2자리 거리까지 .. 2021. 8. 10.
Webpack이 뭔데!!(5) plugin 플러그인은 웹팩이 동작하는 자체적인 과정에 개입할 수 있어 웹팩이 동작하는 과정 전반적으로 광범위한 작업을 수행할 수 있습니다. 번들파일에 변화를 주거나 최적화하고, 애셋을 관리하고 또 환경변수 주입등과 같은 작업을 수행할 수 있습니다. plugin은 require()을 통해 플러그인을 요청하고 plugins 라는 key를 시작으로 설정할 수 있습니다. 이번에는 HtmlWebpackPlugin 을 사용해 볼 예정입니다. 이 플러그인은 번들러를 위한 html 파일을 자동으로 만들어주고 설정해줍니다. 플러그인은 loader 와 다르게 webpack package 내부에 있는 plugin과 외부 저장소에서 관리되는 plugin으로 나뉩니다. 이번에 사용하는 HtmlWebpackPlugin 은 외부.. 2021. 8. 6.
플로엑셀 붓이끼 제거 후기 후기가 늦었습니다만 약 2주간의 플로엑셀 투입끝에 붓이끼를 제거했습니다. 생물 피해는 하나도 없었고, 어항에는 야마토새우와 다리오다리오만 있었습니다. 플로엑셀을 투입하는동안 콩돌은 계속해서 틀어줘야합니다. https://fishhi.kr/ 피쉬하이에서 내 어항에 맞는 플로엑셀 정량에 대해서 확인해보고 2배 3배 4배 플로엑셀 투입량을 조금씩 늘려가며 백탁이나 생물반응을 살펴보고 이상반응이 보이기 전의 용량까지 투입하는식으로 진행했습니다. 피쉬하이 :: 어항 물양 계산 상세 설정 상세설정 Toggle 내 수조의 용량을 계산해보세요. fishhi.kr 1일차 2일차 3일차 4일차 5~7일차 8~10일차 2021. 8. 4.
Webpack이 뭔데!! (4) Package.json package.json은 크게 2가지로 나눠집니다. 어플리케이션 내부에 직접 포함되는 모듈 예를 들어 Jquery같은 모듈이 있습니다. DOM선택을 쉽게하기 위해 Jquery등을 NPM을 통해 설치하면 이 모듈은 애플리케이션 내부에서 직접 동작하는 모듈입니다. 개발 과정에 필요한 모듈 개발 효율을 높이거나 코드 컨벤션을 검사하는 등등의 모듈, 즉 테스트 관련 모듈이나 트랜스 파일러 관련 모듈등이 있습니다. dependencies 애플리케이션 내부에 직접 포함되는 모듈 정보를 담습니다. 의존성을 규정하는 것은 패키지 이름과 해당 패키지의 범위를 지정한 객체를 통해 이뤄집니다. npm 을 통해 설치하는 모듈이 dependencies에 기록되어야할 때는 옵션으로 --save 를 사용합니.. 2021. 8. 4.
Webpack이 뭔데!!(3) Bundle이 중요한 이유? Bundle이란? 번들은 웹팩에 대해 이해할 때 알아봤습니다. 이번에는 번들을 왜 사용하는지, 이게 왜 중요한지에 대해 알아봅니다. 각 모듈을 요청해서 자원을 얻어와야 했던 것들을 묶어서 요청/응답 을 받기 때문에 파입 접근 횟수가 줄어들고 모듈 로드를 위해 검색하는 시간, network cost가 줄어듭니다. Webpack 4 이상의 버전부터는 development, production 모드를 지원합니다. production 모드에서는 로드 시간을 줄이기 위한 번들 최소화, 가벼운 소스맵 및 최적화에 초점을 맞추고 번들링을 진행합니다. 즉 코드를 압축해주고 난독화, 최적화(tree shaking) 작업을 지원합니다. tree shaking: 사용되지 않는 코드를 제거 Web.. 2021. 8. 2.
Webpack이 뭔데!!(2) ESM Keyword Nodejs 환경에서는 CommonJS 표준을 따르기 때문에 모듈을 다른 방식으로 접근할 수 있게 도와주는 도구가 필요합니다. $ npm install esm esm을 설치해준다. esm 모듈이 설치가 되었으면 명령문을 실행할 때 $ node -r esm index.js -r 이라는 플래그는 node 명령어를 실행할 때 실행하는 파일의 다른 모듈의 표준도 해석할 수 있게 실행해줍니다. 내보내기 export 혹은 export default 를 사용합니다. export, export default의 차이? 모듈은 크게 두 종류로 나눌 수 있습니다. 여러 개의 함수가 있는 라이브러리 형태의 모듈과, 개체 하나만 선언되어있는 모듈 export default 를 사용하면 해당 모듈엔 개체가 .. 2021. 8. 1.
Webpack 이 뭔데!!(1) 웹팩은 최신 프론트엔드 프레임워크에서 가장 많이사용되는 모던 Javascript 애플리케이션을 위한 정적 모듈 번들러입니다. 모듈 번들러란? 모듈 번들러는 웹 애플리케이션을 구성하는 웹 구성 자원들(HTML,CSS,JS,Images 등)을 모두 각각의 모듈로 보고 이들의 의존성을 묶고 조합해 합쳐진 하나의 결과물(static한 자원)을 만드는 도구입니다. 즉 js, sass, jpg, png, css 같은 많은 자원들을 하나의 파일로 병합하고 압축해주는 동작을 모듈 번들링이라고 합니다. 모듈이란? 모듈은 단지 파일 하나에 불과 합니다. 모듈은 대개 클래스 하나 혹은 특정한 목적을 가진 복수의 함수로 구성된 라이브러리 하나로 구성됩니다. 각 모듈은 전체 프로그램보다 영향 범위가 좁아 검증 및 디버깅 테스트.. 2021. 7. 30.
[프로그래머스 javascript] 124 나라의 숫자 주의해야할 점 입출력 결과물만 보고 프로그래밍하기 시작하면 규칙을 찾는데에 어려울 수 있다. 3으로 나눈 나머지가 0이면 4 1이면 1 2면 2 를 반복해서 찍어주고 n은 n이 나누어떨어지는 경우에는 3으로 나눈 몫 -1 을 나누어 떨어지지 않으면 3으로 나눈 몫으로 바꿔주고 반복한다. function solution(n) { var answer = '' var arr=[4,1,2] while(n>0){ answer = arr[n%3] + answer if(n%3 == 0) n = parseInt(n/3) -1 else n = parseInt(n/3) } return answer; } 아니면 function solution(n) { var answer = '' var arr=[1,2,4] if (n===.. 2021. 7. 3.
[프로그래머스 javscript] 키패드 누르기 [카카오 인턴] 키패드 누르기 문제 설명 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 더 가까.. 2021. 7. 2.
[프로그래머스 python, javascript] 로또의 최고 순위와 최저 순위 https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr javascript와 python 모두 filter 함수를 사용했다. 약간의 사용법은 다르다. 문제 풀이는 적어도 맞힌 갯수와 최대로 맞힐 수 있는 갯수를 구하면 된다. #javascript function solution(lottos, win_nums) { var answer = []; var rank=[6,6,5.. 2021. 7. 1.
[프로그래머스 python, javascript] 소수구하기 https://programmers.co.kr/learn/courses/30/lessons/12977?language=python3 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 3중 for문을 사용해서 각 숫자들의 조합을 더해 소수인지 판별하기만 하면 되는 문제이다 #javascript function isPrime(n){ for (var i = 2; i 2021. 7. 1.