일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 노마드 코더
- git
- 백준 정리
- 크롬웹
- button:focus cursor: pointer; outline: none;
- max-width
- 나도코딩 파이썬
- margin 0 auto
- nav태그
- :root
- 할만한데?
- HTML
- box-sizing: border-box
- Pull
- 라매개발자
- html 끝
- 드림코딩
- 단계별로 풀어보기
- border radius
- error: ENOENT: no such file or directory
- git 버전관리
- 나도코딩
- 생활코딩 WEB2-JavaScript
- 백준 자바스크립트
- 생활코딩
- WEB2-JavaScript
- li 태그
- 코딩테스트
- 백준
- calc()
- Today
- Total
목록알고리즘 문제 (21)
코딩응애의 개발블로그
재귀 문제 일단 코드부터 const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(__dirname + '/input.txt').toString().split('\n') input = input[0].split(' ').map(value => +value) let quard; // 사분면을 나타내는 변수 let result = 0; // 결과값을 나타낼 변수 function solution(N, r, c, result) { let half = 2 ** (N - 1); if (N === 0) { return result; } if..
하노이의 탑 문제 일단 코드부터 보자면 const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(__dirname + '/input.txt').toString().split('\n') let cnt = 0; let ans = '' function hanoi(N,start,goal,sup) { // (원판개수,시작,목표,보조) if(N===1) { // 원판개수가 1개면 그냥 바로 목표 기둥으로 옮기면 끝이기 때문에 이렇게 적어줌 // N이 0일때라고 해주고 그냥 return만 써주어도 된다. ans += `${start} ${g..
일단 코드부터 봅시다 const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(__dirname + '/input.txt').toString().split('\n'); let num = +input[0]; let result = ''; function solution(i, j) { // 일단 출력 예시를 보면 // (1,1) (1,4) (1,7) ... 이렇게가 공백인것을 볼 수 있는데 3으로 나눈 나머지가 1이면 // 그자리는 공백인것을 확인할 수 있다.이걸 토대로 i % 3 === 1 && j % 3 === 1 이렇게 조건을..
나름 재귀를 이해했다고 생각하고 푼 문제인데 도무지 못풀겠어서 답을 봤음에도 불구하고 이해를 하는데 꽤나 오래 걸렸던 문제 일단 코드부터 보자면 이렇다. const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(__dirname + '/input.txt').toString().split('\n'); console.log('어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.'); function solution(n, el) { if (n === el) { console.log(`${'____'.repeat(el)}"재귀함..
처음에는 그냥 하드코딩으로 for문 이용해서 풀려고 했는데 이건좀 아닌것 같아서 그냥 구글링 해서 방법을 알고 제출함 근데 내가 맨 처음에 푼 제출 내용을 봤는데 어우 너무 좀 노가다성이 짙긴 했다. 그마저도 유튜브보고 푼것 같은데 음.. for of 반복문의 대해 제대로 알게되는 시간을 가진듯 하다. const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(__dirname + '/input.txt').toString().split('\n'); solution(input[0]); function solution(str) { c..
한가지 의문인게 그냥 숫자를 문자열로 바꾸고 배열처럼 가져오나 split으로 배열로 바꾸고 가져오나 똑같다는 점이다 예를들어서 let num = 1234; let strNum = String(num) console.log(strNum[0]) // 1 출력 let strNum2 = String(num).split('') console.log(strNum2[0]) // 1 출력 그러면 굳이 split('')을 안써도 되지 않을까? 여기엔 다 이유가 있었는데 일단 같은 이유는 자바스크립에서 문자열은 변하지 않는 값이므로, 읽기 전용 배열로서 다룰 수 있다. 따라서 배열처럼 [] 연산자를 사용하여 문자열을 구성하는 각 문자에 바로 접근할 수 있다.라는 것이다. 하지만 split('')을 쓰는게 나은 이유가 문자..
해당 문제 정답으로 인정이 되는 코드 const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(filePath).toString().trim().split('\n'); const num = input.map(value => +value) solution(num); function solution(num) { let max = num[0]; let cnt = 0; for (let i = 1; i < 9; i++) { if (max < num[i]) { max = num[i]; cnt = i; } } console.log(max);..
백준 1463번 const fs = require('fs'); const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt'; let input = fs.readFileSync(__dirname + '/input.txt').toString().trim().split('\n'); solution(+input[0]); function solution(N) { const DP = new Array(N + 1).fill(0); for (let i = 2; i