To infinity/Coding Practice
-
[백준 Node.js/Javascript] 1193번 분수찾기To infinity/Coding Practice 2021. 6. 29. 19:50
2021.06.29 Question 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net Answer code let fs = require('fs'); let N = fs.readFileSync('/dev/stdin').toString().map(el=>+el) let line = 0; let maxValue = 0; //N의 범위의 최대값이 나올 때 까지 while ( maxValue < N) { line++ maxValue += line; } let idx = N - (maxValue - line); if (line % 2 == 0) { child = idx; parents = (line + 1) - child; } else { child ..
-
[백준 Node.js/Javascript] 2292번 벌집To infinity/Coding Practice 2021. 6. 28. 20:53
2021.06.28 Question 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net Answer code let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString() let room = 1; let range = 1; let i = 0 //input의 범위를 설정해줌. while (true){ if((range + (6 * i)) = ..
-
[백준 Node.js/Javascript] 1152번 단어의 개수To infinity/Coding Practice 2021. 6. 27. 22:28
2021.06.27 Question 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net Answer code let input = ` `.toString().trim().split(' '); let count = 0 for (let i = 0; i < input.length; i++) { if(input[i]) count++ } console.log(count) How to solve? 쉽게봤다가 큰코다쳤다.ㅋㅋ let input = ` `.toString().trim().split(' '); console...
-
[백준 Node.js/Javascript] 2941번 크로아티아 알파벳To infinity/Coding Practice 2021. 6. 27. 20:23
2021.06.27 Question 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net Answer code let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().trim(); //길이를 셀 때 공백이 있는지 해당 공백도 세져서 처음부터 없애버렸다. let regExp = /c\=|c\-|dz\=|d\-|lj|nj|s\=|z\=/g;; let result = input.replace(regEx..
-
[백준 Node.js/Javascript] 5622번 다이얼To infinity/Coding Practice 2021. 6. 27. 09:50
2021.06.27 Question 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net Answer code 내가 짜고싶었던 코드 (참고: 감공사님 블로그 https://dpsc615.tistory.com/72?category=817305) let input = `UNUCIC`.toString().split(''); let charMap = {}; let charStack = ''; let counter = 3; for (let i = 'A'.charCodeAt(0); i { for (let stage in charMap) { if(stage.includes(char)) { acc += charM..
-
[백준 Node.js] 1157번 단어공부To infinity/Coding Practice 2021. 6. 26. 17:53
2021.06.26 Question 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net Answer code let input = `Mississipi`.toString(); //모두 대문자로 바꾼다. let uppercase = input.toUpperCase().split(''); //메서드는 원본을 바꾸지 않는다. //reduce는 배열에 적용되는 메서드다. 따라서 uppercase를 배열로 만들어야 한다. //split메서드는 string메서드를 객체로 바꿔주는 메서드다. let obj = uppercase.reduce((acc,cur) ..
-
[백준 Node.js] 2908번 상수To infinity/Coding Practice 2021. 6. 26. 16:29
2021.06.26 Question 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net Answer code let fs = require('fs'); let input = (process.flatform == 'linux' ? fs.readFileSync('/dev/stdin').toString() : `734 893`.split('')); console.log(input) // ['734', '893'] //input.split('') //가 안됐던 이유는 split는 stirng 메서드임!! //let reverse =..
-
[백준 Node.js] 10809번 알파벳 찾기 (Feat. 아스키코드)To infinity/Coding Practice 2021. 6. 26. 14:35
2021.06.26 Question 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net Answer code let fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString(); let alphabet = [] for (let i=97; i < 123; i++){ alphabet += input.indexOf(String.fromCharCode(i)) + ' ' } console.log(alphabet); How to solve? 알..