javascript

    javascript로 백준 문제 풀기-input

    백준에서 javascript로 문제를 풀 때 input을 조금 특이하게 사용한다. readline과 require('fs') 둘 다 사용가능 하지만, 실행시간의 차이 때문에 require('fs')를 강력 추천한다. require('fs') 모든 입력 값을 하나로 받는다. 따라서 여러 줄을 입력 받으면 split 등으로 한 줄씩 저장해야 한다. 실행 시간이 짧아서 주로 사용된다. 한 줄만 받을 경우 let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString(); // 한줄로 사용할 경우 let input = require('fs').readFileSync("/dev/stdin").toString(); 여러 줄을 받고 한 줄씩 나눌..

    프로그래머스-구명보트

    https://programmers.co.kr/learn/courses/30/lessons/42885 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 문제 설명 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 ..

    프로그래머스-음양 더하기

    https://programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 제한사항 absolutes의 길이는 1 이상 1,000 이하입니다. ab..

    프로그래머스-내적

    https://programmers.co.kr/learn/courses/30/lessons/70128 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr 문제 설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, ..

    Javascript-map

    JS의 map 메서드는 배열 내의 모든 원소에 callback 함수를 실행하는 메서드입니다. reduce와 동일한 일을 한다고도 볼 수 있지만 return 값이 다릅니다. reduce의 리턴은 하나의 값이지만, map의 리턴은 배열입니다. 예를 들면 reduce는 한 배열의 모든 원소를 더해서 하나의 sum 을 구할 때 사용하고 map 은 한 배열의 모든 원소 각각에 * 2 를 하여 새로운 배열을 구할 때 사용합니다. // sum reduce const sum = [0, 1, 2, 3].reduce( ( accumulator, currentValue ) => accumulator + currentValue, 0 ); // return is 6 // multiple map const map1 = [0, 1..

    프로그래머스-기능개발

    https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 ..

    Javascript-reduce

    JS의 reduce 메서드는 빈 원소를 제외하고 배열 내의 모든 원소에 callback 함수를 실행하는 메서드이다. 말만 듣고는 잘 이해가 안간다. 배열의 모든 원소를 합치는 예시는 아래와 같다. var sum = [0, 1, 2, 3].reduce(function (accumulator, currentValue) { return accumulator + currentValue; }, 0); reduce안에 accumulator와 currentValue 를 합치는 function이 있고, 그 function이 [0, 1, 2, 3]을 돌면서 모든 원소에 작동하므로 원소의 모든 합인 6을 반환다. accumulator와 currentValue 말고도 다른 input이 있다. callback accumul..

    Javascript-행렬의 값 더하기

    행렬의 값을 더하는 방식은 정말 다양하다. 가장 간편하고 직관적인 방법은 Loop를 사용하는 것이다. numbers를 숫자만 들어있는 행렬이라고 하면 let sum = 0; for (let i = 0; i a + b); 이 한줄이면 모든 요소에 더하기를 시행하여 행렬 합을 구할 수 있다. 마지막으로 신기한 방법이 있는데... eval 은 문자열을 시행하는 신기한 메서드이다. eval('2+2')을 ..