본문 바로가기

2. 우당탕탕 개발자111

2021.8.3 TIL 문자거리, 문자열 압축 가장 짧은 문자거리 주어진 단어를 하나씩 돌면서, 타겟한 문자와 최소 거리를 리턴 function solution(str, tar) { let answer; // code here; return answer; } let example = "happyecodinge"; let target = 'e'; console.log(solution(example, target)) //[5, 4, 3, 2, 1, 0, 1, 2, 3, 3, 2, 1, 0] 답) indexOf 를 이용하여 해당 문자의 앞뒤로 존재하는 타겟 문자와의 거리의 최소 값을 구한다. function solution(str, tar) { let answer = []; let front = back = 0; for(let i = 0; i < str... 2021. 8. 3.
2021.8.2 TIL 회문문자열,팰린드롬,숫자추출 회문 문자열 체크 회문 문제열 'abba'인지 아닌지 체크. 대/소문자는 구분하지 않는다. 'gooG' => 'true' function solution(str) { let answer; // code here; return answer; } 답) 주어진 문자열을 반으로 갈라서 비교 function solution(str) { let answer = true; let capital = str.toUpperCase(); let n = str.length; let mid = Math.floor(n/2); for(lef i = 0; i < mid; i++) { if(capital[i] !== capital[n - i - 1]){ answer = false; break; } }; return answer; } .. 2021. 8. 2.
2021.7.31 TIL (격차판 최대합, 봉우리) 문제) n:n 격차판 최대 합 구하기 n:n격자판의 가로/세로/대각선 합 중에서 최대값 구하기 function solution(arr) { let answer; // code here; return answer; } let example = [ [10, 13, 10, 12, 15], [12, 39, 30, 23, 11], [11, 25, 50, 53, 15], [19, 27, 29, 37, 27], [19, 13, 30, 13, 19] ]; console.log(solution(example)) // 155 나의 조잡한 해답) 가로/세로/대각선1/대각선 2의 합을 구하고, 비교한다. function solution(arr) { let answer = Number.MIN_SAFE_INTEGER; let n.. 2021. 7. 31.
얕은 복사, 고차원의 깊은 복사 깊은 복사 vs 얕은 복사 우선 자바스크립트의 자주 쓰이는 타입들을 살펴보자. 복사의 차원에선 자바스크립트의 타입을 참조형과 기본형으로 나눌 수 있다. 값과 주소로 이루어진 참조형과 값 자체인 원시형 기본형 타입으로 나누어진다. 참조형 (Reference type) : 값 - 주소로 이루어짐. object (array 포함) function 기본형 (Primitive type) : 값 자체 number string boolean (true/false) null / undefined symbol 얕은 복사(Shallow Copy) 얕은 복사는 '주소'만 복사한다. 기본 타입은 주소가 없기 때문에 그 값을 복사한다. 문제는 참조형이 주소만 복사하기 때문에 원본이 변하면, 복사된 값도 변화한다는 것이다. 반대.. 2021. 7. 31.
2021.7.30 TIL (보이는 학생, 가위바위보, 점수구하기, 등수구하기) 문제) 보이는 학생 선생님이 학생을 일렬로 세웠을 때, 맨 앞에 서있는 선생님이 볼 수 있는 학생의 수를 구하기. 키의 숫자 배열이 주어진다. [100, 120, 110, 120, 130, 105] => 1+ 1+ 0 + 0 + 1 + 0 = 3 function solution(numbers) { let answer; // code here; return answer; } 해답) function solution(numbers) { let answer = 0, max = Number.MIN_SAFE_INTEGER; for (let num of numbers) { if (max < num) { answer++; max = num; } } return answer; } 문제) 가위바위보 두 배열이 주어졌을 때.. 2021. 7. 30.
2021.7.28 TIL (중복문자 제거, 배열 큰 수 출력) 문제) 소문자로 이뤄진 단어에서 중복 단어를 제거하여 문자 순으로 출력 예시) 'hahojajo' -> 'haoj' function findDuplicates(str) { let answer; // code here; return answer; } 해답) indexOf 이용 : indexOf(string) 매소드는 string이 포함된 첫번째 인덱스를 리턴. function findDuplicates(str) { let answer = ''; for(let i = 0; i < str.length; i++) { if(str.indexOf(str[i]) === i) { answer += str[i] } }; return answer; } 다른 해답) includes 이용 function findDuplica.. 2021. 7. 28.