programing/Algorithm
-
[JS] Binary Gapprograming/Algorithm 2018. 10. 23. 23:18
안녕하세요, Einere입니다. 오늘은 Codility의 1번째 문제인 Binary Gap코드에 대해 포스팅하려고 합니다. process.stdin.setEncoding('utf8'); process.stdin.on('data', data => { let decimal = parseInt(data, 10); let binary = decimal.toString(2); let gap = 0; let maxGap = 0; console.log(binary); for(let e of binary){ if(e === "1"){ if(gap >= maxGap){ maxGap = gap; } gap = 0; } else{ gap++; } } console.log(maxGap); }); 생각보다 간단합니다. 일단 2..
-
[Coding Test] codilityprograming/Algorithm 2018. 10. 23. 23:11
안녕하세요, Einere입니다. 오늘은 백준과 유사한 코딩 테스트 웹페이지 하나를 소개드릴까 합니다. 바로, codility입니다. 위의 페이지에 접속 후, Lesson을 누르면 테스트 가능한 문제들이 나옵니다. 위와 같이 문제들이 나옵니다.풀이를 완료한 문제는 위와 같이 수행률이 표기됩니다.수행률은 정확도와 시간복잡도를 고려하여 책정하는 것 같습니다.그러나 문제수가 많지 않다는 것이 아쉽습니다. start버튼을 누르면 여느 코딩테스트 페이지와 유사하게 시작이 가능합니다. 백준과 다른점이라고 한다면, 위와 같이 javascript(node.js)가 ECMA2015까지 지원이 되며, 표준 입출력을 신경쓰지 않아도 됩니다.백준같은 경우에는 node.js v0.10까지만 지원이 되어, 틀딱 키워드인 var를 ..
-
[Algorithm] infix를 postfix로 변환하기programing/Algorithm 2018. 10. 9. 22:16
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 오늘은 괄호를 포함한 수식을 계산하는 계산기를 만들기 위해, infix수식을 postfix로 변환하는 알고리즘을 알아보겠습니다. infix to postfix const open = "("; const close = ")"; const priority = new Map(); priority.set("+", 1); priority.set("-", 1); priority.set("*", 2); priority.set("/", 2); const infix = [...]; const postfix = []; const operators = []; //translate to postfix for(let e of infix){ //if e..