반응형

전체 글 274

[프로그래머스/JavaScript] Lv.1 명예의 전당 (1)

해당 문제는 반복문과 정렬을 통해 답을 도출하는 문제이다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 입출력 예 3. 문제 풀이 function solution(k, score) { var answer = []; // 1) 명예의전당(k)을 담는 배열 생성 var nums = []; // 2) score에 담긴 점수를 하나씩 꺼낸다. score.forEach(num => { // 3) 명예의 전당에 넣는다. nums.push(num); // 4) 명예의 전당 배열을 내림차순으로 정렬하고 상위 k번까지 자른다. nums.sort((..

Algorithm 2022.11.30

[JavaScript] 고차함수 map(), filter(), reudce() 사용 방법

고차 함수 고차 함수란? 함수를 인자로 전달받거나 함수를 결과로 반환하는 함수를 말한다. 1. map() 기존 배열 요소를 가지고 새로운 요소로 변경하여 반환한다. const map_reuslt = [1, 2, 3, 4].map((value, index, array)=>{ console.log(value); // 1, 2, 3, 4 출력 return value*10; // 각 요소에 10을 곱한 값을 배열로 반환 }); console.log(map_reuslt); // [ 10, 20, 30, 40 ] 콜백 함수의 매개변수로 value에 요소 값, index에 인덱스, array에 원본 배열이 들어온다. 각 콜백함수에서 return 하는 값 들으러 새로운 배열을 만들어 반환한다. 2. filter() 기..

JavaScript 2022.11.29

[JavaScript] 고차 함수 some(), every() 사용 방법

고차 함수 고차 함수란? 함수를 인자로 전달받거나 함수를 결과로 반환하는 함수를 말한다. 1. every() 콜백 함수에서 배열의 모든 요소가 True이면, true를 리턴 1-1) 기본 형식 array.every(callbackFunction(currentValue, index, array), thisArg) callbackFunction : 콜백 함수 thisArg : this값으로 활용 currentValue : 배열의 현재 값 index : 배열의 현재 값의 인덱스 array : 현재 배열 1-2) 사용 예 let arr = [1,2,3,4,5,6]; const callBack = (val) => val < 6 arr.every(callBack) // 하나라도 false면, false arr.ev..

JavaScript 2022.11.28

[프로그래머스/JavaScript] Lv.2 귤 고르기

해당 문제는 Hash와 정렬을 활용하는 문제입니다. 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 귤의 크기별 개수를 담은 map을 생성하고, 해당 map을 정렬하여 BOX에 담는 귤을 구한다. function solution(k, tangerine) { // 1) 귤의 크기별 개수를 담을 map 생성한다. const kind = new Map(); let answer =0 ; // 2) 크기별 개수를 구한다. tangerine.forEach(org => { kind.set(org, kind.has(org) ? kind.get(org)+1 : ..

Algorithm 2022.11.25

[프로그래머스/JavaScript] Lv.2 수식 최대화

재귀 함수를 통해 답을 도출 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 사용 가능한 연산자를 반복하는 DFS 함수, 수식에 해당 연산자를 포함하고 있는 값들을 계산하는 재귀 함수를 사용하여 해당 문제를 풀었다. let answer = []; function solution(expression) { // 1) 사용 가능한 연산자를 배열에 담는다. const opts = ["+", "-", "*"]; // 2) 문자열을 연산자를 구분으로 배열로 변환한다. 해당 배열은 구분 연산자 또한 포함한다. let cal = expression.split(..

Algorithm 2022.11.24

[JavaScript] 정규표현식을 사용한 repalce, replaceAll 치환 방법

replace() 함수를 이용하여 문자열의 특정 문자열을 다른 문자열로 변환할 수 있다. 먼저 검색되는 1개의 문자열만 변환하지만, 정규 표현식을 이용하여 일치하는 모든 문자열을 변환할 수 있다.  정규표현식 이란?문자열을 처리하는 방법 중의 하나로 특정한 조건의 문자를 '검색'하거나 '치환'하는 과정을 매우 간편하게 처리할 수 있도록 하는 수단이다.  1. 정규 표현식 패턴1-1) 매칭 패턴패턴의미a-zA-Z영어알파벳(-으로 범위 지정)ㄱ-ㅎ가-힣한글 문자(-으로 범위 지정)0-9숫자(-으로 범위 지정).모든 문자열(숫자, 한글, 영어, 특수기호, 공백 모두! 단, 줄바꿈X)\d숫자\D숫자가 아닌 것\w영어 알파벳, 숫자, 언더스코어(_)\W/w 가 아닌 것\sspace 공백\Sspace 공백이 아닌 ..

JavaScript 2022.11.23

[Android] Firebase AdMob 광고 적용 방법

Firebase 프로젝트가 생성되어 있어야 한다. 2022.11.21 - [Kotlin] - [Android] Firebase 프로젝트 생성 및 안드로이드 스튜디오 적용 방법 1. 애드몹 가입하기 [참여] → [AdMob] → [AdMob 가입] 클릭 이후 본인 인증 화면에서 국가, 시간대, 결제 통화를 설정하고 약관의 동의합니다 1-1) 구글 계정 연동 계정이 완료되었음을 확인하고 이메일 수신 여부를 모드 ‘아니요’로 설정 2. 애드몹 등록하기 2-1) 홈 → [시작하기] 클릭 2-2) 플랫 폼 [Android] 클릭 → 아직 앱스 토오에 올리지 않았으므로 [아니요] 선택 2-3) 앱 추가 사용자 측정항목은 해제한다. 3. 광고 단위 추가하기 : 배너 광고 3-1) 배너 광고 선택 3-2) 배너 단위 ..

Kotlin 2022.11.22

[Android] Firebase 프로젝트 생성 및 안드로이드 스튜디오 적용 방법

FireBase란? FireBase는 모든 플랫폼을 프로젝트 구축 시 자동적으로 만들어 줍니다. 또한, 서버를 구축하기 위해서 리눅스 명령어를 알 필요도 없으며 도메인을 구입할 필요도 없고, 개발하는 동안에는 서버를 구입할 필요도 없습니다. - FireBase의 대표적인 기능 인증, 데이터베이스, 스토리지, 원격 구성, 푸시 알람 등 1. FireBase의 장점 1) 인증 시스템을 지원 - 로그인을 담당하는 부분 2) NoSQl 기반의 DB - RTSP(Real Time Stream Protocol) 방식의 데이터베이스를 지원(실시간으로 데이터들을 전송해주는 방식) 3) 원격 구성을 지원 - 앱의 환경을 원격으로 구성 가능(앱의 배경, 테마 및 폰트, 업데이트 창 등) 4) 콘솔을 제공 - 서버 관리자 ..

Kotlin 2022.11.21

[프로그래머스/JavaScript] Lv.2 타겟넘버

해당 문제는 DFS문제로 경우의 수를 구하는 문제이다. * BFS 사용 예 - 최단거리, 최소 횟수, 미로, 탐색 등 * DFS 사용 예 - 경우의 수, 이동 과정에 제약 있음 등 문제 https://school.programmers.co.kr/learn/courses/30/lessons/43164 문제 풀이 let answer = 0 function solution(numbers, target) { // 1) DFS 함수 최초 실행 합(sum), 인덱스(idx) 0으로 셋팅 dfsSum(0, numbers, 0, target); return answer; } function dfsSum(sum, numbers, idx, target) { // 2) 인덱스(idx)가 배열 길이와 같아지면 return한다..

Algorithm 2022.11.20

[프로그래머스/JavaScript] Lv.2 숫자의 표현

해당 문제는 완전 탐색을 통해 답을 도출하는 문제이다. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12924 완전 탐색 이란? '무식하게 푼다(brute-force)'는 컴퓨터의 빠른 계산 능력을 이용해 가능한 모든 경우의 수를 체크해서 정답을 찾는 방법이다. 1. 완전 탐색 기법을 활용하는 방법 1) 해결하고자 하는 문제의 가능한 경우의 수를 대략적으로 계산한다. 2) 가능한 모든 방법을 다 고려한다. - Brute Force 기법 - for문 / if문을 활용 - 순열(Permutation) - n개의 원소 중 r개의 원소를 중복 허용 없이 나열하는 방법 - 재귀 호출 - 비트 마스크 - 2진수 표현 기법을 활용하는 방법 - BFS, ..

Algorithm 2022.11.19
반응형