알고리즘
-
<백준> 8958번: OX퀴즈유물/└ 백준 2022. 1. 10. 21:04
🤖 문제 https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 풀이 const fs = require("fs"); const input = fs.readFileSync("/dev/stdin").toString().trim().split("\n"); const N = +input[0]; for (let i = 1; i < N + 1; i++) { let sum = 0; let addValue = 0; for (const val of..
-
<TIL> 220110 알고리즘, 프로토타입, useState클래스/└ TIL 2022. 1. 10. 20:37
🌱 { 알고리즘 } 알고리즘은 어떤 일을 하기 위한 명령의 집합입니다. 이진 탐색은 정렬된 리스트를 입력 받고, 리스트에 원하는 요소가 있으면 그 요소의 위치를 반환합니다. 알고리즘의 속도는 시간이 아니라 연산 횟수가 어떻게 증가하는지로 측정합니다. 배열에서는 모든 요소의 주소를 다 알수 있기 때문에 데이터에 임의 접근할 수 있습니다. 배열은 읽기가 빠르고, 연결 리스트는 삽입과 삭제가 빠릅니다. { 자바스크립트 } 프로토타입 자바스크립트는 프로토타입 기반의 객체지향 프로그래밍 언어입니다. 프로토타입과 생성자 함수는 단독으로 존재할 수 없고 언제나 쌍으로 존재합니다. 프로토타입 체인의 최상위에 위치하는 객체는 언제나 Object.prototype입니다. 프로토타입 체인은 상속과 프로퍼티 검색을 위한 메커..
-
<백준> 1546번: 평균유물/└ 백준 2022. 1. 8. 14:41
🤖 문제 https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 풀이 const fs = require("fs"); const input = fs.readFileSync("/dev/stdin").toString().trim().split("\n"); const inputScoreArr = input[1].split(" "); const MAX = Math.max(...inputScoreArr); let fakeScoreArr = inputScor..
-
<백준> 3052번: 나머지유물/└ 백준 2022. 1. 6. 21:28
🤖 문제 https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 풀이 const fs = require("fs"); const inputArr = fs.readFileSync("/dev/stdin").toString().trim().split("\n"); const resArr = inputArr.map((num) => +num % 42).sort(); let count = 10; for (let i = 0; i < 10; i++) { count -= resArr[i] === resArr[i+1] ? 1 : 0; } co..
-
<백준> 2577번: 숫자의 개수유물/└ 백준 2022. 1. 6. 20:56
🤖 문제 https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 풀이 const fs = require("fs"); const inputArr = fs.readFileSync("/dev/stdin").toString().trim().split("\n"); let productNum = 1; inputArr.map((inputNum) => (productNum *= +inputNum)); let productArr = (productNum + "").split(""); for (let i = 0; i < 1..
-
<백준> 2562번: 최댓값유물/└ 백준 2022. 1. 5. 21:42
🤖 문제 https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 풀이 const fs = require("fs"); const inputArr = fs.readFileSync("/dev/stdin").toString().split("\n"); let max = +inputArr[0]; let position = 1; inputArr.map((num, i) => { if (max < +num) { max = +num; p..
-
<백준> 10818번: 최소, 최대유물/└ 백준 2022. 1. 5. 21:15
🤖 문제 https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 풀이 const fs = require("fs"); const input = fs.readFileSync("/dev/stdin").toString().split("\n"); const N = +input[0]; const inputArr = input[1].split(" "); let min = +inputArr[0]; let max = +inputAr..
-
<백준> 1110번: 더하기 사이클유물/└ 백준 2022. 1. 4. 21:36
🤖 문제 https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 풀이 const fs = require("fs"); const N = parseInt(fs.readFileSync("/dev/stdin").toString()); let result = N; let count = 0; do { let sum = (Math.floor(result / 10) + (result % 10)) % 10; result = (result % 10) * ..