반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바스크립트
- 정보처리기사정리
- 리액트네이티브
- javascript
- 스프링
- 정보처리기사실기정리
- 정보처리기사실기
- react
- 정보처리기사실기요약
- php
- spring
- VUE
- typescript
- 자바스크립트 코딩테스트
- 정보처리기사
- 국비코딩
- CSS
- 타입스크립트
- Java의정석
- 정보처리기사요약
- 자바의정석
- 오라클
- 자스코테
- ReactNative
- 국비IT
- 이안의평일코딩
- 리액트
- 평일코딩
- Oracle
- 코딩테스트
Archives
- Today
- Total
이안의 평일코딩
[JS] 기초 (1) - 최솟값, 삼각형, 개수, 합, 홀수, 10부제, 일곱난쟁이 본문
반응형
최솟값
<script>
function solution(a, b, c){
let answer;
if(a<b){
answer=a;
}
else{
answer=b;
}
if(c<answer){
answer=c;
}
return answer;
}
console.log(solution(11, 5, 1));
</script>
삼각형 판별
만약 c가 max라면 a+b>max여야 삼각형 조건이 성립된다.
<script>
function solution(a, b, c){
let answer="YES", max;
let sum=a+b+c;
if(a>b) max=a;
else max=b;
if(c>max) max=c;
if((sum-max)<=max) answer="NO";
return answer;
}
console.log(solution(13, 33, 17));
</script>
연필 다스 수 (12개당 1다스)
Math.ceil, Math.floor
<script>
function solution(n){
let answer = Math.ceil(n/12);
// Math.ceil 올림, Math.floor 내림, Math.round 반올림, Math.sqrt 제곱근
return answer;
}
console.log(solution(178));
</script>
1부터 N까지의 합
<script>
function solution(n){
let answer=0;
for(let i=1; i<=n; i++){
answer+=i;
}
return answer;
}
console.log(solution(10));
</script>
최솟값 구하기
<script>
function solution(arr){
let answer, min=Number.MAX_SAFE_INTEGER; // 가장 안전한 큰 정수 9007199254740991
// min=arr[0]; 으로 주고 i를 1부터 시작해도 된다
for(let i=0; i<arr.length; i++){
if(arr[i]<min) min=arr[i];
}
answer=min;
// let answer=Math.min(...arr) => 배열은 안되며(NaN) 인자를 넣어야함
// ...arr => arr[0], arr[1], .... arr[6]
// 최대값은 Math.max(...arr)
// ...arr 전개연산자 대신 쓰는 방법 => Math.min.apply(null, arr);
// 2번째 인자에 배열을 넘김, this에다가 컨트롤할 수 있는 객체의 이름을 넣음
return answer;
}
let arr=[5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr));
</script>
홀수
x%2!=0
https://iancoding.tistory.com/226
<script>
function solution(arr){
let answer=[];
let sum=0, min=Number.MAX_SAFE_INTEGER;
for(let x of arr){
if(x%2!=0){
sum+=x;
if(x<min) min=x;
}
}
answer.push(sum);
answer.push(min);
return answer;
}
arr=[12, 77, 38, 41, 53, 92, 85];
console.log(solution(arr));
</script>
10부제
x%10==day
<script>
function solution(day, arr){
let answer=0;
for(let x of arr){
if(x%10==day) // 어떤 숫자든지 10으로 나눈 나머지는 1의 자리가 된다.
answer++;
}
return answer;
}
arr=[25, 23, 11, 47, 53, 17, 33];
console.log(solution(3, arr));
</script>
일곱난쟁이
배열.reduce 누적 계산의 결과 값
배열.splice(2, 1); 2번인덱스에 하나 삭제 (삭제 또는 교체 메서드)
<script>
function solution(arr){
let answer=arr;
let sum=arr.reduce((a,b)=>a+b, 0); // => 결과, 초기값
for(let i=0; i<arr.length; i++){
for(let j=1; j<arr.length+1; j++){
if((sum-(arr[i]+arr[j]))===100){
arr.splice(j, 1); // 뒤에서 먼저 하나 삭제 (순서를 위해)
arr.splice(i, 1); // 그리고 나머지 하나 삭제
}
}
}
return answer;
}
let arr=[20, 7, 23, 19, 10, 15, 25, 8, 13];
console.log(solution(arr));
</script>
반응형
'Study > JS Algorithm Rocket' 카테고리의 다른 글
[모집] 자바스크립트 알고리즘 로켓스터디 (0) | 2021.08.23 |
---|---|
[JS] 완전탐색 (브루트포스) (0) | 2021.05.26 |
[JS] 문자열탐색 (회문, 팰린드롬, 추출, 최단거리, 압축) (0) | 2021.05.25 |
[JS] 1, 2차원 배열 탐색 (가위바위보, 등수, 격자판, 봉우리) (0) | 2021.05.24 |
[JS] 기초 (2) - 문자대체, 찾기, 개수, 중복제거, 대소문자 변환 (0) | 2021.05.17 |
Comments