본문 바로가기

전체 글109

[Javascript] 배열 추가 / 삭제 정리 (push, unshift, pop, shift, slice, filter, splice, length) 배열 추가 (맨 뒤) - push 배열의 끝에 요소를 추가하고, 배열의 새로운 길이를 반환한다. const arr = ['1', '2', '3']; const count = arr.push('4'); console.log(count); // 4 console.log(arr); // ['1', '2', '3', '4'] arr.push('5', '6', '7'); console.log(arr); // ['1', '2', '3', '4', '5', '6', '7'] Array.prototype.push.apply(arr, ['8', '9', '10']); console.log(arr); // ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'] 배열 추가 (맨 앞) -.. 2021. 4. 24.
[백준] 4673번 / 셀프 넘버 / Node.js 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(n)의 생성자라.. 2021. 4. 24.
[백준] 4344번 / 평균은 넘겠지 / Node.js 문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다. 예제 입력 1 5 5 50 50 70 80 100 7 100 95 90 80 70 60 50 3 70 90 80 3 70 90 81 9 100 99 98 97 96 95 94 93 91 예제 출력 1 40.000% 57.143% 33.3.. 2021. 4. 23.
[백준] 8958번 / OX퀴즈 / Node.js 문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다. 출력 각 테스트 케이스마다 점수를 출력한다. 예제 입력 1 5 OOXXOXXOOO OOXXOOXXOO OXOXOXOXOXOXOX OOO.. 2021. 4. 23.
[백준] 1546번 / 평균 / Node.js 문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 출력 첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대.. 2021. 4. 23.
[Javascript] 최대값 / 최소값 구하기 Math.max() / Math.min() Math.max(value1, value2, ...) 입력값으로 받은 0개 이상의 숫자 중 가장 큰 숫자를 반환. Math.min(value1, value2, ...) 주어진 숫자들 중 가장 작은 값을 반환. console.log(Math.max(1,2,3,4,5)); // 5 console.log(Math.min(1,2,3,4,5)); // 1 Math.max.apply(null, arr) / Math.min.apply(null, arr) JavaScript 엔진의 인수 길이 제한을 초과하는 위험을 주의해야 한다. let array = [1, 2, 3, 4, 5]; console.log(Math.max.apply(null,array)); // 5 console.. 2021. 4. 23.
[Javascript] D-day 계산기 index.html Time Until Christmas Eve🎅 26day 05hour 05minute 29second styles.css /* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */ /* Add Reset.css */ body { font-family: sans-serif; } div { width: 100vw; height: 50vh; } div:first-child { background: #bb2528; color: white; font-weight: 600; text-align: center; } h1 { padding: 90px 0px; font-size: 40px; }.. 2021. 4. 23.
[백준] 3052번 / 나머지 / Node.js 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. 예제 입력 1 1 2 3 4 5 6 7 8 9 10 각 수를 42로 나눈 나머지는 1, 2, 3, 4, 5, 6, 7, 8, 9, 10이다. 예제 출력 1 10 예제 입력 2 42 84 252 420 8.. 2021. 4. 22.
[Javascript] Array 중복 값 제거(Remove Array Duplicates) Set 사용 ES6에 도입 된 새로운 데이터 개체이다. 고유 한 값만 저장하고 배열을 전달하면 중복 값이 ​​제거된다. let array = [1, 1, 1, 2, 2, 2, 3, 3]; const set = new Set(array); // Set {1,2,3} // 다시 배열로 변환하는 두 가지 방법 array = [...set]; // [1,2,3] Array.from(new Set(array)); // [1,2,3] filter 사용 제공하는 조건을 통과하는 요소들로 새로운 배열을 만드는 함수. 요소가 통과하면서 true를 반환하면 필터링 된 배열에 포함된다. indexOf 배열에서 제공된 요소에서 찾은 첫 번째 인덱스를 반환. let array = [1, 1, 1, 2, 2, 2, 3, 3]; .. 2021. 4. 22.