일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 크롤링
- dfs
- 자바스크립트
- typescript
- 그래프
- javascript
- Algorithm
- 프로그래머스
- 쉬운 문제
- 알고리즘
- type challenge
- ip
- 타입 챌린지
- dp
- 타입스크립트
- HTTP 완벽 가이드
- 문자열
- 레벨 1
- Nestjs
- HTTP
- 소켓
- 프로그래머스 레벨 2
- 백준
- socket
- BFS
- TCP
- Crawling
- 수학
- Node.js
- 가천대
- Today
- Total
목록수학 (23)
kakasoo
두 개의 코드를 제공한다. 그 외에도 틀린 경우가 많았지만, 가장 대표적인 틀린(?) 코드와, 정답을 작성한다. const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); rl.on("line", (line) => { main(line); rl.close(); }).on("close", () => { process.exit(); }); /** * * @param {string} line */ const main = (line) => { // 1. 2진수를 10진수로 변환한다. let ten = BigInt(0); for (let i = 0;..
const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); rl.on("line", (line) => { main(line); rl.close(); }).on("close", () => { process.exit(); }); /** * * @param {string} line */ const main = (line) => { let [N, B] = line.split(" "); N = Number(N); const numbers = []; let square = 0; while (N >= B) { const value = N % B; num..
const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); rl.on("line", (line) => { main(line); rl.close(); }).on("close", () => { process.exit(); }); /** * * @param {string} line */ const main = (line) => { const [N, B] = line.split(" "); const length = N.length; const numbers = N.split("").map((el, i) => { return { value: el, ..
const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); const input = []; let count = 0; rl.on("line", (line) => { if (!count) { count = Number(line); } else { input.push(line); main(line); if (input.length === count) { rl.close(); } } }).on("close", () => { process.exit(); }); const gcd = (A, B) => { if (B === 0) { return A; ..
const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); rl.on("line", (line) => { main(line); rl.close(); }).on("close", () => { process.exit(); }); const gcd = (A, B) => { if (B === 0) { return A; } else { return gcd(B, A % B); } }; /** * * @param {string} line */ const main = (line) => { const [A, B] = line.split(" ").map(Nu..
const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); rl.on("line", (line) => { main(line); rl.close(); }).on("close", () => { process.exit(); }); /** * * @param {string} line */ const main = (line) => { const [A, B, C] = line.split(" ").map(Number); console.log((A + B) % C); console.log(((A % C) + (B % C)) % C); console.log..
문제가, 솔직히 알고리즘이라고 하기도 애매한 것들 (정의로는 물론 다 알고리즘이겠지만), 그런 것들은 그냥 다 분류를 '수학'이라고 해버리는 감이... 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 32 33 34 35 #include using namespace std; int arr[100000]; int main(void) { int n; cin >> n; for (int i = 0; i > temp; if (temp == 0) { i--; arr[i] = 0; i--; n--; n--; } else { arr[i] = temp; } } int sum = 0; for (int i = 0; i
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 #include #include using namespace std; int a[100]; int b[100]; int main(void) { int n; cin >> n; for (int i = 0; i > a[i]; } for (int i = 0; i > b[i]; } sort(a, a + n); sort(b, b + n); int sum = 0; for (int i = 0; i
갑자기 옛날 생각이 난다. 예전에 중학생 때, 교무실 앞에서 울고 있는 한 남자 아이가 있었다. 처음 보는 친구였지만, 그 친구가 우는 모습에 다가가서 무슨 일이냐고 물어봤다. (그 때도 새삼 내가 착했다는 게 느껴진다, 나는 앞으로도 착하게 살고 싶다.) "시험을 망했어." 그 친구가 얼마나 망했는지 몰라도, 이렇게 우는 걸 보니 노력에 결과가 따라오지 못한 듯 하였다. 당시 전교 17등이었던 내가, 그 아이를 위로하는 게 가증스러운 짓은 아닐까 염려되었지만, 나는 "너무 그러지마, 다음 번엔 더 잘 할 수 있을 거야." 라고, 조심스레 말을 골라냈다. "몇 등이길래 그래?" "2등." "뭐?" 그렇다. 이 친구는, 전교 1등을 처음으로 놓친 탓에 울고 있던 거였다. 이 일로 면식이 생긴 나는 이 친구..
바흐는 아는데 골드바흐는 처음 들었다. 그래서 알아보니까, 오일러의 친구였나보다. 골드바흐는 소수에 관한 추측들을 했는데, 이하 생략하고 그 중 하나로서 다음과 같은 추측을 해보았다. "4보다 큰 모든 짝수는 두 홀수 소수(2를 제외한 소수들)의 합으로 나타낼 수 있다." 사실 미해결된 명제이기도 하거니와, 소수를 구하는 공식도 결국 다 때려박기라 소수의 끝도 모르는데 저게 증명될 일이 있을까. 코딩러들은 이 문제를, brute force로 해봐서 모든 경우의 수가 성립함을 알 수 있을 것이다. 물론 long long int 범위 내에서... 수학은 근데 귀납을 인정 안하니 프로그래머들에겐 불가능하겠다. (빌게이츠는 세계적인 수학 난제도 증명도 했다던데?) (그 땐 빌게이츠도 프로그래머가 아니라 법대생이..
이 문제가 '브루트포스' 라는 분류를 가지고 있는 건, 내가 봤을 때 미친 짓이다. 브루트포스 방식으로도 풀 수야 있겠지만 시간초과가 미친듯이 난다. 브루트포스로, 더 이상 효율적으로 만들 수 없을 거라고 생각이 들 때까지 했는데 90%에서 시간초과였다. 그래서 다른 방식을 찾아서 했는데도 시간초과가 미친 듯이 나왔다. (그래서 데이터 구조와 STL을 적극 활용하였고, 최대공약수를 구하는 공식들도 훨씬 공부해야 했다.) 차라리 이건 '수학'만 구분으로 가지고 있는 게 낫다. 최대 값이 1000000000으로 입력될 수 있고, 같은 값이 2번 이상 입력되지 않는다고 하더라도 다른 수들과의 최대 공약수가 아무리 작아도 500000000은 나올 수 있을 텐데, 이걸 1부터 브루트포스로 검사를 한다고? 미친 짓..