[프로그래머스] 코테 (배열 원소의 길이) 나의 풀이 function solution(strlist) { var answer = []; for(let i =0; i 헬리'Daily/꾸준한 알고리즘 2023.08.04
[프로그래머스] 코테 (편지) 문제 머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message 를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요. 제한사항 공백도 하나의 문자로 취급합니다. 1 ≤ message의 길이 ≤ 50 편지지의 여백은 생각하지 않습니다. message는 영문 알파벳 대소문자, ‘!’, ‘~’ 또는 공백으로만 이루어져 있습니다. 입출력 예 "happy birthday!" 30 "I love you~" 22 나의 풀이 function solution(message) { const charWidth = 2; // 각 글자의 가로 크기 (2.. 헬리'Daily/꾸준한 알고리즘 2023.07.28
[프로그래머스] 코테 (k의 개수) 주어진 문제 1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요. 제한사항 * 1 ≤ i 헬리'Daily/꾸준한 알고리즘 2023.07.27
[프로그래머스] 코테 (팩토리얼) 코딩테스트를 푸는데... 역시 어렵다..! 쉽지않지아주..! 그치만 오늘 풀면서 알게된것을 정리해 보려고 한다. 문제는 프로그래머스의 문제를 가져왔다! 팩토리얼 문제) i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요. 조건 : i! 헬리'Daily/꾸준한 알고리즘 2023.07.22
알고리즘문제 5 너무어려워이거....완젼히 다 맞지는못했다... function minimumTreePath(n, edges, visitNodes) { const INF = 1e9; const dist = Array(n).fill().map(()=> Array(n).fill(INF)); const visit = visitNodes.map(v => v-1); edges.forEach(([u, v]) =>{ dist[u-1][v-1] =1; dist[v-1][u-1] =1; }); for(let k=0; k < n; k++) for(let i=0; i 헬리'Daily/꾸준한 알고리즘 2023.05.29
알고리즘문제 4 function longestChain(words) { const dp = {}; words.sort((a,b)=>a.length - b.length); let max = 0; for(const word of words){ let longest = 0; for(let i =0; i< word.length; i++){ const sub = word.slice(0,i) + word.slice(i+1); longest = Math.max(longest, (dp[sub] || 0)+1); } dp[word]=longest; max = Math.max(max, longest); } return max; } 헬리'Daily/꾸준한 알고리즘 2023.05.29
알고리즘문제 3 function maxLength(a, k) { let start = 0; let sum = 0; let maxLen = 0; for(let end = 0; end k) { sum -= a[start]; start++; } maxLen = Math.max(maxLen, end - start + 1); } return maxLen; } 헬리'Daily/꾸준한 알고리즘 2023.05.29
알고리즘 문제 2 function findRange(num) { const numStr = num.toString(); let min = 0; let max = 0; let changeIndex = 0; if(numStr[changeIndex] === '1') { changeIndex++; while(changeIndex < numStr.length && (numStr[changeIndex] === '0' || numStr[changeIndex] === '1' )) { changeIndex++; } min = numStr.replaceAll(numStr[changeIndex],'0'); } else { min = numStr.replaceAll(numStr[changeIndex],'1'); } changeIndex = 0.. 헬리'Daily/꾸준한 알고리즘 2023.05.29
알고리즘 문제 1 function getFinalString(s) { let finalString = s; while (finalString.includes("AWS")){ finalString = finalString.replace("AWS", ""); } return finalString.length > 0 ? finalString : -1 ; } 헬리'Daily/꾸준한 알고리즘 2023.05.29