목록2017/10 (5)
Knowledge Map
문제 [링크] 소문자 a ~ z 는 각각 1 ~ 26까지 대응한다.동일한 연속된 알파벳은 각 숫자값이 누적해서 계산될수 있다.예를 들어 abccddde 이라고 한다면 아래와 같이 1, 2, 3, 4, 5, 6, 8, 12 라는 숫자가 각각 적용되는 것이다. a 1 b 2 c 3 cc 3+3 = 6 d 4 dd 4+4 = 8 ddd 4+4+4 = 12 e 5 입력은 abccddde613125910 이라고 입력된다. 제일 위에는 문자, 그 아래 숫자는 총 입력되는 숫자를 의미한다. (위에서는 자기 제외하고 6개 숫자가 입력된다는 의미)다.) 그리고 그밑의 1, 3, 12, 5, 9, 10 인데 여기서 9, 10은 적용되지 않는다. 적용되는건 Yes, 아닌건 No로 반환한다.따라서 위의 입력이 되면 아래와 같..
예전에 삭제 했던 윈도우 bash를 다시 세팅하고 git push를 해보았더니 다음과 같은 메세지가 떴다. push.default를 설정하지 않아서 표시되는 메세지이다.여기서 push.default 옵션은 2가지가 있다. simple : 현재 작업중인 브랜치만 push 한다.matching : local과 remote 브랜치명이 같은 모든 브랜치를 push 한다. 두개는 서로 다른 특징을 가지고 있으며 깃 2.0부터는 simple 동작이 기본값이라 되어 있지만 설정하라고나온다.그러니 위에 나온 대로 git config --global push.default simple 이라고 입력하면 된다. 만약 matching을 하고 싶다면 simple 자리에 matching 이라고 입력한다. 출처 : http://d..
문제 [여기]주어진 문자열에 대해서 'hackerrank' 문자의 알파벳이 들어있는지를 확인하면 된다. 단, h, a, c, k, e, r, r, a, n, k 각 문자는 자신보다 앞에 있는 문자보다 더 먼저 나올수 없다. 즉 harankcker 이렇게 되면 없다고 봐야 한다. 순차적으로 각 알파벳이 주어진 문자열에 존재하는지를 확인하면 되는 문제이다. 즉 'haackkerrank' 이렇게 되면 맞는것, 'hackkkerankk' 이러면 r이 하나 부족하기 때문에 아닌게 되는 것이다. 맞으면 'YES' 를, 아니면 'NO' 를 반환하면 된다. 풀이const a = str => { const txt = 'hackerrank'; let j = 0, cnt = 0; for(let i = 0; i
문제 [여기]중복된 문자열을 2개씩 지우고 가장 줄여진 문자열을 반환하는 함수를 만드는 문제이다. 예를 들면 문자열 aaabccddd 가 있을 경우 abccddd => abddd => abd 이런식으로 만들면 된다. 삭제되는 문자열의 순서는 상관없다.즉 aabcc가 있다면 aab, bcc 둘다 상관없다. 또한 bddb의 경우 bddb => bb => "" 가 된다. 만약 문자열이 없다면 Empty String을 반환하면 된다. 풀이// 실행 함수const super_reduced_string = s => A(s) || 'Empty String'; // 문자열 체크 및 삭제해주는 함수const A = str => { for(let i = 1; i
문제는 영어로 되어 있는데 내맘대로 해석을 했다. 원문은 [여기] 참조하면 된다.문제a라는 배열의 최소공배수를 가지고 b라는 배열의 최소값에 이르기 까지 총 개수가 몇개인지 구하시오.예를 들어서 a = [2, 4] 이고 b = [8, 16, 24] 이면 값은 2가 되는데 a 배열의 최소공배수는 4이고 b의 최소값이 8까지는 4, 8 이기 때문에 총 값이 2이다.풀이 // getTotalX( [2,4], [8, 16, 24] ); 이렇게 동작시키는 함수const getTotalX =(a, b) => calculateCommonDenominator(LCM(a), b); // a의 최소공배수(lcm)를 가지고 arr의 최소값까지의 갯수를 구한다.const calculateCommonDenominator = (..