To infinity/Coding Practice
-
[Node.js/백준/스택] 10828번 스택 / pop, push, 삼항연산, switch문To infinity/Coding Practice 2022. 3. 16. 17:37
2022.03.16 수 Question 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net How to solve? 이건 풀었다기 보다는 답을 보고 어떤 구조로 알고리즘을 짰는지 분석했다 보는게 맞는 듯 하다. 참, 거짓으로 판명되는 조건을 물어볼때는 삼항연산자(조건문? true : false)나 논리연산자를 쓰면 될 것 같다. 왜냐하면 모든값이 true or false로 반환되니 1 or 0 으로 반환되는 것과 마찬가지니 말이다. 스택은 LILO로 배열이 가로로 있을 땐 가장 오른쪽, 그리고 세..
-
[Node.js/백준/구현] 2562번 최대값 / Math.max & findIndexTo infinity/Coding Practice 2022. 3. 14. 21:16
2022.03.14 Question 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net How to solve? 최대값을 구한 뒤, 몇번째 위치하는지 찾는 문제다. 최대값은 input을 배열형태로 바꾸어 찾는다. 몇번째 위치하는가는 최대값이 위치하는 인덱스 값을 구하면 된다. 1. 최대값 구하기 (1) Math.max(value) - 값, 그리고 배열에서 최대값을 찾는 함수이다. var arr = [1, 2, 3]; var max = Math.max(...arr); (2) Math..
-
[Node.js/백준/구현] 2438번 별찍기 -1 / for 반복문To infinity/Coding Practice 2022. 3. 14. 20:12
2022.03.14 Question 2438번: 별 찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 www.acmicpc.net How to solve? 반복문이다. *을 찍어내는 반복문 1개와 별을 다 찍고나서 줄바꿈을 해주는 반복문 1개를 중첩해서 작성하면 된다. let fs = require('fs'); let input = Number(fs.readFileSync('/dev/stdin').toString()); for(i=1; i
-
[Programmers/Javascript] 위장 (Hash)To infinity/Coding Practice 2021. 7. 5. 21:13
2021.07.05 Braindstorming 조건 - 최소 한개 이상의 의상을 입음 - [이름, 종류]로 이뤄진 이중배열 서로 다른 옷의 조합수 nCr를 구하면 될 듯. - 각 종류별로 경우의 수 (각 종류별로 하나만 걸칠 수 있으니까) - 전체 종류별로 경우의 수 이중 배열의 [ 종류, 이름 ] 을 key 이름 : value 종류의 개수 로 가져와야할 듯. reduce? 첫번째 시도 function solution(clothes) { const hashed = []; for ( const wear in clothes ) { hashed[clothes[wear][1]] = (hashed[clothes[wear][1]] | 0) + 1 } let sum = 0; let mul = 1; let count ..
-
[Programmers/Javascript] 완주하지 못한 선수To infinity/Coding Practice 2021. 7. 5. 00:03
2021.07.04 드뎌 백준에서 프로그래머스로 넘어왔다. 나의 목표는 코테를 볼 수 있을 정도로 능력치를 끌어올리는 것이기 때문에 이제 프로그래머스로 전향! Brainstorming filter와 includes를 이용 이중for문을 이용해 completion과 participant 요소를 비교 reduce로 객체 만들어서 비교. How to solve 1. completion 배열 안에 participant 요소가 존재하지 않으면 반환. (includes) const answer = participant.filter(el => !completion.includes(el)); //큰 배열이 앞으로 가야함. 작은 배열 안에 큰 배열의 값이 있는지 확인해야하니까. //includes로 가면 동명이인을 걸러..
-
[백준 Node.js/Javascript] 2839번 설탕 배달To infinity/Coding Practice 2021. 7. 3. 12:19
2021.07.02 - 03 Problem 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net How to Solve? 문득, 이런 생각이 들었다. 내가 실제로 현업에서 일을하게되면 백준에서와 같이 내가 짠 코드가 정답인지 아닌지 걸러주지 않고 실제로 내가 여러 조건들을 넣어보면서 판별을 하게 될텐데 어떻게 그걸 판별할 수 있을까? 오류횟수를 최대한 줄어야 한다는 생각이 들었다. 이번 문제는 반은 풀고 반은 못 풀었다고 해도 될 것 같다. 일단, '나머지'라는 개념을 통해 해당 문제를 접근하면 되겠다는 아이디어는 얻었다. ..
-
[백준 Node.js/Javascript] 2775번 부녀회장이 될테야!To infinity/Coding Practice 2021. 7. 2. 00:00
코드 해당 코드는에서 여기 블로그를 참고하여 적은 것이다. let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString()split('\n').map(el => +el); let T = input.shift(); for (let i = 0; i < T; i++) { let k = input.shift() // 두번째 케이스가 들어오기 위해 원본배열에서 제거해준다 let n = input.shift() // 어차피 첫번째 값이 제거되면 그 다음에 있는 요소가 첫번째가 된다. let residents = []; // 각 룸의 인원수를 만드는 배열 작업 (층별로 배열을 만듦, 층이 곧 인덱스) for ( let i = 0; i
-
[백준 Node.js/Javascript] 2869번 달팽이는 올라가고 싶다.To infinity/Coding Practice 2021. 6. 29. 22:33
2021.06.29 Question 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B +el); let climb = input[0]; let slipped = input[1]; let height = input[2]; let day = Math.ceil(( height - slipped) / ( climb - slipped)); console.log(day) How to s..