문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 제한 사항 absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 문제 풀이 방법 reduce() 메서드 내부에 if else 문을 이용해 signs[index] 를 확인하고 덧샘 뺄샘을 했다. 그러나...
분류 전체보기
문과 표현식 자바스크립트에서 문과 표현식은 중요한 차이가 있다. var a = 3 * 6; var b = a; b; 3 * 6은 표현식이다. 두번째 줄과 세번째 줄 또한 표현식이다. var a = 3 * 6, var b = a 두 문은 각각 변수를 선언 하므로 선언문 이라 한다. a = 3 * 6 이나 b = a는 할당 표현식 이라 한다. 세번째 줄은 표현식의 전부이지만 이것만으로 완벽한 문이다. 일반적으로 이 문은 표현식 문이라 한다. 1 - 문의 완료 값 모든 문은 완료 값을 갖는다. 심지어 undefined값을 갖을 수 있어도 갖는다. var문의 완료값은 undefined이다. 실제로 var a = 42를 콘솔창에 실행시켜 보면 42 대신 undefined가 나온다. 이는 콘솔이 실행한 문의 완료 ..
문제 설명 길이가 같은 두 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의 길이) 제한 사항 a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 문제 풀이 방법 이번 문제는 스칼라 곱을 구하는 문제였다. a와 b에서 같은 인덱스 값을 갖는 값끼리 곱해준 뒤 모든 값을 더해주면 된다. 처음에는 for문을 이용해 각각의 값을 곱한뒤 빈 배열에 넣어 reduce()를 이용해 더했다. 하지만, reduce()에 index 파라미터가 있음을 다른 ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbmBhq3%2FbtrGfN0B3sR%2F7wKilWFQWmaAkTAgeasrU1%2Fimg.jpg)
Repository 생성 Repository는 github에 가서 생성하자. Repository는 보이는 사진과 같이 생성 화면에서설정 후 생성할 수 있다. 이름과 README 생성 여부를 설정하면 아래의 Creat repository 버튼이 활성화 되어 버튼을 눌러주면 Repository는 생성된다. VSCode에서 연결하기 Repository을 생성했다면, 다음과 같이 Code 버튼을 눌러 해당 Repository의 주소를 얻을 수 있다. 주소를 얻었다면 VSCode를 실헹시키자! 새로운 폴더를 만들어 주고 해당 폴더에서 터미널을 열어주자 그리고 터미널에서 git init으로 git을 생성해준다. F1을 눌러 Git: Clone을 찾아 누르자 누르면 아래와 같은 창이 뜬다. 또 다시 누르면 연결할 R..
문제 설명 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다. 명함 번호가로 길이세로 길이 1 60 50 2 30 70 3 60 30 4 80 40 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때의 ..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FphGdH%2FbtrFHKDnCiB%2FvvahkKDrWUDW1DGV4HLBSK%2Fimg.png)
알고리즘의 해시 해시에는 해시(Hash), 해시 함수(Hash Function), 해싱(Hashing), 해시 테이블(Hash Table) 이렇게 4가지로 나뉘어 진다. 각 요소들에 대해 알아보자. 해시(Hash) 해시는 검색과 저장을 빠르게 하는 자료구조이다. 데이터를 저장할 때는 Key-Value 형태로 데이터가 저장되고,Key값이 배열의 인덱스로 저장되기 때문에 검색과 저장이 빠르게 일어난다. 해시 함수(Hash Function)와 해싱(Hashing) 해시 함수는 Key값을 고정된 길이의 Hash로 변환하는 기능을 한다. 해시 함수에서 Key값을 hash로 변환하는 과정을 해싱(hashing)이라 한다. 해싱 과정을 통해 해시 값(hash value)또는 해시 코드(hash code)로 변경하며,..