본문 바로가기

2. 우당탕탕 개발자/2-1. 공부기록92

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.
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.
2021.7.26 TIL 대문자 -> 소문자 치환, 중간 문자 출력 문제) 대문자 -> 소문자로, 소문자 -> 대문자로 function change(str) { let answer; // code here; return answer; }; 해답 1) function change(str) { let answer = ''; for (let el of str) { if(el === el.toUpperCase()) { answer += el.toLowerCase(); } else { answer += el.toUpperCase(); } }; return answer; }; 해답 2) 아스키코드 이용 대문자 65 ~ 92, 소문자 97 ~ 122 인 것에서 착안. 'A'.charCodeAt()은 65, 'a'.charCodeAt()은 97 즉, 차가 32임을 이용한다. funct.. 2021. 7. 26.