일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 프로그래머스
- html&css
- TypeScript
- wai-aria
- 정규표현식
- 카드뉴스
- 비트연산자
- 알고리즘
- react
- 웹접근성
- programmers
- react-query
- 제로베이스 프론트엔드 스쿨
- JavaScript
- 디자인
- leetcode
- Today
- Total
記錄
[코딩테스트 입문] Day 1 ~ 5 본문
- 프로그래머스에서 제공하는 코딩테스트 입문(Lv.0) 문제들을 풀어본 내용을 일부 정리했음
- 풀이를 어느 정도 고민한 문제들만 정리(너무 단순한 문제들 제외)
Day 2 : 사칙연산, 조건문, 배열
분수의 덧셈
첫 번째 분수의 분자와 분모를 뜻하는 denum1, num1, 두 번째 분수의 분자와 분모를 뜻하는 denum2, num2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
function solution(denum1, num1, denum2, num2) {
var answer = [];
//분자
let denum=(denum1*num2)+(denum2*num1);
//분모
let num = num1 * num2;
//최소공배수
let gcd = (a, b) => a % b === 0 ? b : gcd(b, a % b);
let min=gcd(denum,num)
answer=[denum/min,num/min]
return answer;
}
Day 3. 사칙연산, 배열, 수학
중앙값 구하기
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.
function solution(array) {
var answer = 0;
//array sort로 순서 정렬
//array 길이 절반 나눠서 math.floor로 소수점 버림
answer=array.sort((a,b)=>a-b)[Math.floor(array.length/2)];
return answer;
}
최빈값 구하기
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다.
function solution(array) {
//최빈값을 return하되 최빈값 여러개면 -1 return
//!!최빈값의 개수 아니고 최빈값 자체!! -> value값이 max인 key 값을 구해야 함
//최빈값 구하기
const maxCount=array.reduce((a,c)=>{
a[c]=(a[c]||0)+1
return a
},{})
//최빈값의 반복 횟수
let max=Math.max(...Object.values(maxCount))
//max를 가진 key값
let mode=Object.keys(maxCount).filter(key=>maxCount[key]===max)
return mode.length === 1 ? +mode[0] : -1
}
* reduce 이용한 최빈값 구하는 방법 설명글
https://velog.io/@minew1995/JavaScript-%EC%B5%9C%EB%B9%88%EA%B0%92-%EA%B5%AC%ED%95%98%EA%B8%B0
[JavaScript] 최빈값 구하기
최빈값 구하기 1. 기본 설명 2. 작동 설명
velog.io
Day 4. 수학, 배열
머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.
function solution(n) {
var answer = 0;
//피자 한 판=6조각
//n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자를 먹어야 함
//6명>1판(1조각씩), 10명>5판(30조각>3조각씩), 4명>2판(12조각>3조각씩)
//최소 피자 판 수 > 최소공배수
let getLCM=(a, b) =>{
let lcm = 1;
while ((lcm % a !== 0 || lcm % b !== 0) && lcm < a * b) lcm += 1;
return lcm;
}
answer=getLCM(n,6)/6;
return answer;
}
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요.
function solution(numbers) {
//numbers[i]값 전부 합하고 numbers.length 값을 나누기
var answer = 0;
let add=0;
let numL=numbers.length
for(let i=0;i<numL;i++){
add+=numbers[i];
answer=add/numL;
}
//forEach 쓰는 방법
// numbers.forEach((item)=>{
// add+=item;
// answer=add/numL;
// })
return answer;
}
'FRONTEND STUDY > Programmers' 카테고리의 다른 글
[프로그래머스] 콜라 문제 (0) | 2022.11.27 |
---|---|
[코딩테스트 입문] Day 6~10 (0) | 2022.11.27 |
[프로그래머스] 과일 장수 (1) | 2022.11.19 |
[프로그래머스] 기사단원의 무기 (1) | 2022.11.19 |
[프로그래머스] 이진 변환 반복하기 (0) | 2022.11.12 |