본문 바로가기

알고리즘66

[자바스크립트/알고리즘] 2진수 문자열을 영어로 변환 문제 주어진 2진수 문자열을 영어로 변환하여라. 예시 binaryAgent("01000001 01110010 01100101 01101110 00100111 01110100 00100000 01100010 01101111 01101110 01100110 01101001 01110010 01100101 01110011 00100000 01100110 01110101 01101110 00100001 00111111") Aren't bonfires fun!? binaryAgent("01001001 00100000 01101100 01101111 01110110 01100101 00100000 01000110 01110010 01100101 01100101 01000011 01101111 01100100 011.. 2021. 2. 3.
[자바스크립트/알고리즘] flat 함수 대안 flat() 함수란? [자바스크립트] flat() 함수-중첩된 배열 구조 하나로 합치기 정의 flat() 메서드는 모든 하위 배열 요소를 지정한 깊이까지 재귀적으로 이어붙인 새로운 배열을 생성합니다. 구문 const newArr = arr.flat([depth]) 예시 const arr1 = [1, 2, [3, 4]]; arr1.flat(); // [1, 2.. breathtaking-life.tistory.com 지난번 flat() 함수를 이용하면 중첩된 배열 구조를 하나로 바꿀 수 있다고 하였다. 이번 문제는 flat함수를 사용하지 않고 대안을 만들어야 한다. 문제 중첩된 배열을 평평하게(flatten) 만들어라. steamrollArray([[["a"]], [["b"]]]) ["a", "b"] st.. 2021. 2. 3.
[자바스크립트/알고리즘] 프리코드캠프(FCC) - Drop it : 함수가 true일 때 까지 요소 제거 (shift) 문제 배열이 주어지면 첫 번째 요소(0 인덱스)에서 시작하여 함수가 true로 돌아올 때까지 각 요소를 반복하고 제거합니다. 그런 다음 조건이 충족되면 나머지 배열을 반환합니다. 그렇지 않으면 arr을 빈 배열로 반환해야 합니다. 예시 dropElements([1, 2, 3, 4], function(n) {return n >= 3;}) [3, 4] dropElements([0, 1, 0, 1], function(n) {return n === 1;}) [1, 0, 1] dropElements([1, 2, 3], function(n) {return n > 0;}) [1, 2, 3] dropElements([1, 2, 3, 4], function(n) {return n > 5;}) [] 여기서 주의해야 할 점.. 2021. 2. 2.
[자바스크립트/알고리즘] 배열 여러개를 합친 후 유일한 값 반환하기 (set 객체, flat 함수) 문제 둘 이상의 배열이 제공되고, 원래 제공된 배열의 순서대로 중복이 없는 새로운 배열을 반환하라. 나의 풀이 Set 객체와 flat() 함수를 이용하여 정말 간단하게 코드를 짤 수 있다. function uniteUnique(...arr) { return [...new Set(arr.flat())]; } uniteUnique([1, 3, 2], [5, 2, 1, 4], [2, 1]); //실행코드 flat()으로 중첩된 배열을 하나로 합친 뒤 Set 객체로 중복된 값을 제거해 주었다. 중복된 값 제거에는 Set 객체를 사용하면 정말 편하다!! flat() 함수에 관한 포스트다. [자바스크립트] flat() 함수-중첩된 배열 구조 하나로 합치기 정의 flat() 메서드는 모든 하위 배열 요소를 지정한 깊.. 2021. 2. 1.
[자바스크립트/알고리즘] DNA 페어링 DNA Pairing이란? DNA 가닥에 페어링 요소가 없다면 각 문자를 가져와서 쌍을 만들고 배열로 반환한다. 즉, 누락된 요소를 제공된 문자와 일치시킨다. 기본 쌍(Base Pairs)은 AT와 CG의 쌍이다. 예시 GCG는 [["G", "C"], ["C","G"],["G", "C"]] 를 반환한다. ATCGA는 [["A","T"],["T","A"],["C","G"],["G","C"],["A","T"]] 를 반환한다. 나의 풀이 function pairElement(str) { let answer = []; str.split("").map(e => { switch(e){ case 'G' : answer.push([e, 'C']); break; case 'C' : answer.push([e, 'G']).. 2021. 2. 1.
[자바스크립트/알고리즘] Pig Latin (정규식) 피그 라틴 어린이들의 말장난의 일종으로, boy를 oybay라 하는 것과 같이 맨 앞자음을 어미로 돌리고 그 뒤에 ay를 붙이는 것처럼 하는 말장난이다. 출처 : ko.wikipedia.org/wiki/%ED%94%BC%EA%B7%B8_%EB%9D%BC%ED%8B%B4 피그 라틴의 규칙은 이러하다. -단어가 모음으로 시작되면 끝에 'way'를 더한다. -단어가 자음으로 시작되면, 첫 번째 자음 또는 자음 군집(cluster)을 단어의 끝으로 이동한 후 "ay"를 추가한다. 예시 california -> aliforniacay bagel" = "agelbay" "fail" = "ailfay" "poo" = "oopay" algorithm -> algorithmay eight -> eightway 나의 풀이.. 2021. 2. 1.