[프로그래머스] 230918 코딩테스트 연습 1. 문자열 내림차순으로 배치하기 function solution(s) { var answer = ''; answer = s.split("").sort().reverse().join(""); // 문자열 쪼개기 > 정렬 (오름차순) > 역순 (내림차순) > 문자 합치기 return answer; } 2. 부족한 금액 계산하기 function solution(price, money, count) { var answer = -1; let sum = 0; // 놀이기구 총 비용 계산 for(let i=1; i 0) ? Math.abs(sum-money) : 0; return answer; } 3. 문자열 다루기 기본 function solution(s) { var answer = false; // ** isN..
[프로그래머스] 230915 코딩테스트 연습 1. 가운데 글자 가져오기 * substr(문자열 특정 위치, 가져올 갯수) function solution(s) { var answer = ''; if(s.length%2 == 0) { // 단어의 길이가 짝수 answer = s.substr((s.length-1)/2, 2); } else { // 단어의 길이가 홀수 answer = s.substr(s.length/2, 1); } return answer; } 2. 수박수박수박수박수박수? function solution(n) { var answer = ''; for(let i=1; i
[프로그래머스] 230914 코딩테스트 연습 1. 나누어 떨어지는 숫자 배열 function solution(arr, divisor) { var answer = []; arr.sort(function(a, b) { return a-b; // 오름차순 정렬 }) arr.forEach( i => { if(i%divisor == 0) { answer.push(i); } }) if(answer.length == 0) { answer.push(-1); } return answer; } 2. 음양더하기 function solution(absolutes, signs) { let answer = 0; absolutes.forEach( (v, i) =>{ if(signs[i] == true) { answer += v; } else { answer -= v; } }..
[프로그래머스] 230913 코딩테스트 연습 1. 정수 내림차순으로 배치하기 function solution(n) { var answer = 0; let result = 0; // 숫자 분리 후 정렬 result = (n+"").split("").sort().reverse(); // 문자 합치기 (문자열 상태) > join으로 바로 해결 가능! result.forEach(i=> { answer += i; }) // 정수로 형변환 return parseInt(answer); } 2. 하샤드 수 function solution(x) { var answer = true; let num = 0; // 긱 자릿수의 합 (x+"").split("").forEach( i => { num += parseInt(i); }) answer = (x%num == 0) ..
[프로그래머스] 230911 코딩테스트 연습 1. x만큼 간격이 있는 n개의 숫자 function solution(x, n) { var answer = []; for(let i=1; i 문자열로 바뀜 function solution(n) { var answer = []; let splitedNum =n.toString().split(''); let length = splitedNum.length; for(let i = length-1; i >= 0; i--) { answer.push(parseInt(splitedNum[i])); } return answer; } 3. 문자열을 정수로 바꾸기 function solution(s) { var answer = 0; answer = Number(s); return answer; } 4. 문자열 내 p와 y..
[프로그래머스] 230910 코딩테스트 연습 1. 평균 구하기 function solution(arr) { var answer = 0; arr.forEach(i => { answer +=i; }) return answer/arr.length; } 2. 나머지가 1이 되는 수 찾기 function solution(n) { var answer = 0; let result = 0; for(let i=2; i
제로베이스 취준챌린지 2기 후기 0. 제로베이스 취준챌린지란? 7일간, 매일 면접과 관련된 강의를 듣고 직접 연습해보는 챌린지입니다. 7일 만에 나만의 면접 답변을 완성하고 면접 자신감을 얻을 수 있습니다! 1. 제로베이스 취준챌린지를 지원한 이유 현재 저는 대학교 4학년, 막학기를 남겨두고 있는 상황입니다. 자기소개서도 제대로 작성되어 있지 않은 이 시점에서 취업과 관련된 무엇이라도 해야한다고 생각했습니다. 현재 취업을 위해 여러가지 활동을 하고 있어 시간적 여유가 부족한 상태입니다. 7일이라는 짧은 시간 동안 챌린지를 열심히 하여, 면접과 관련된 중요한 정보와 나만의 면접 답변을 얻어가고 싶었습니다. 지금의 면접 준비는 추후 자기소개서를 쓸 때에도 영향을 끼칠 것이라 생각하여 지원하였습니다. 취준챌린지 2기에 선정되어 7일 동안 면..
썸네일 [Algorithm] 8퀸 문제 알고리즘 (재귀) 💜 8퀸 문제란? - 8x8 체스판에 8개의 퀸을 배치한다. - 조건: 어떤 퀸도 다른 퀸을 위협해서는 안된다 - 추가 설명: 퀸은 상하좌우, 대각선 4방향으로 거리 제한 없이 이동할 수 있는 기물 💜 어떤 기능을 하는 함수를 구현해야하는가? (문제 정의) - 각 열에 퀸 하나만 배치한다. (규칙1) - 각 행에 퀸 하나만 배치한다. (규칙2) - 하나의 퀸은 상하좌우, 대각선 4방향으로 거리 제한 없이 이동할 수 있다. (규칙3) => 각 퀸은 상대 퀸의 이동 경로를 방해하지 않으면서 위치해야 한다. 💜 문제를 어떻게 해결할 것인가? (아이디어 얻기) 1) 분할정복(Divide and conquer): 큰 문제를 작은 문제로 세분화하여 해결 2) 가지 뻗기 (Branch) : 가지를 뻗으며 모든 조합을..
썸네일 [Algorithm] 하노이의 탑 알고리즘 (재귀) 💜 하노이의 탑이란? 1) 정의 - 하노이의 탑은 퍼즐의 일종으로, 세 개의 기둥과 이 기둥에 꽂을 수 있는 크기가 다양한 원판들이 있고, 퍼즐을 시작하기 전에는 한 기둥에 원판들이 작은 것이 위에 있도록 순서대로 쌓여 있다. 2) 조건 한 번에 한개의 원판만 옮길 수 있다. 가장 위에 있는 원판만 이동할 수 있다. 큰 원판이 작은 원판 위에 있어서는 안 된다 3) 목표 - 세 막대를 왼쪽부터 A, B, C라고 가정하자. - 위 조건에 맞게 모든 원판을 A에서 C로 옮겨야 한다. 💜 어떤 기능을 하는 함수를 구현해야하는가? (문제 정의) - 원반의 이동 횟수를 최소화한다. - 각 원반을 옮기는 모든 순서를 출력한다. => 원반 개수 N개를 입력 받아, 모든 원반을 C막대에 옮기는 모든 과정을 출력한다. ..
썸네일 [SQLD] DATA ON - AIR (1장 ~ 3장) : 엔터티, 속성, 관계 1. 엔터티 (1) 엔터티의 개념 - 사람, 장소, 물건, 사건, 개념 등의 명사에 해당 - 업무상 관리가 필요한 관심사 - 저장이 되기 위한 어떤 것(Thing) => 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것(Thing) - 엔터티는 속성을 가진다. ex. 대학생 - 학번, 이름, 학년, 전공 과목... - 엔터티는 인스턴스의 집합이다. ex. 과목 - 수학, 영어, 국어, 사회, 과학... - 엔터티는 눈에 보이지 않는 개념도 포함! ** 실제 업무상에는 눈에 보이지 않는 것이 엔터티로 도출되는 경우 多 (2) 엔터티와 인스턴스에 대한 내용과 표기법 - 대부분 사각형으로 표현됨. (3) 엔터티의 특징 - 해당 업무에서 필요하고 관리하고자 하는 정보 - 유일한 식별자에 의해 식..
[프로그래머스] 230731 코딩테스트 연습 1. 정사각형으로 만들기 function solution(arr) { var answer = [[]]; let rowNum = arr.length; let colNum = arr[0].length; if (rowNum > colNum) { arr.forEach( v => { for (let i=0; i
[프로그래머스] 230730 코딩테스트 연습 1. 커피 심부름 // 메뉴 종류가 중요! (아메리카노, 카페라떼) function solution(order) { var answer = 0; order.forEach( i => { if (i.includes("americano") || i.includes("anything")) answer += 4500; else if (i.includes("cafelatte")) answer += 5000; }) return answer; } 2. 조건에 맞게 수열 변환하기 3 function solution(arr, k) { var answer = []; answer = arr.map ( i => (k%2==1) ? i*k : i+k); return answer; } 3. l (소문자 L)로 만들기 // a: 9..