programmers
인트로 레벨 1 javascript 문제 다풀려고 노력 중.. 문제 덧칠하기 https://school.programmers.co.kr/learn/courses/30/lessons/161989 나의 풀이 function solution(n, m, section) { let lastPaintIndex = section[0]+m-1; let cnt = 1; section.map((el) => { if(el > lastPaintIndex) { cnt+=1; lastPaintIndex=el+m-1; while(lastPaintIndex > n) { lastPaintIndex-=1; } } }) return cnt; } //다른풀이 참고 후 function solution(n, m, section) { let l..
인트로 규칙으로 풀려고 했으나 규칙 계산하는게 너무 귀찮아서 그냥 dfs로 풀었습니다. 문제 레벨2 : https://school.programmers.co.kr/learn/courses/30/lessons/84512 나의 풀이 function solution(word) { let cnt = 0; let answer = 0; const dfs = (str) => { cnt++; if(str === word) { answer = cnt-1; return; } if(str.length === 5) return; [..."AEIOU"].forEach(char => { dfs(str+char) }) } dfs(''); return answer; } 다른 풀이 참고 function solution(words) {..
인트로 요즘 코딩 문제를 거의 안풀어서 알고리즘 스터디에 들어갔습니다. 한 주에 하나라도 풀겠다는 마인드.. 문제 레벨1 : https://school.programmers.co.kr/learn/courses/30/lessons/42840 나의 풀이 function solution(answers) { const supo1 = [1,2,3,4,5]; const supo2 = [2,1,2,3,2,4,2,5]; const supo3 = [3,3,1,1,2,2,4,4,5,5]; const result= [0,0,0]; for (let i = 0; i < answers.length; i++) { if(answers[i] === supo1[i%supo1.length]) result[0] += 1; if(answer..
인트로 공부하기 싫을 때마다 돌아오는 프로그래머스 풀기 시간.. 문제 레벨1 : https://school.programmers.co.kr/learn/courses/30/lessons/176963 나의 풀이 function solution(names, yearning, photos) { const score = new Map(); const answer = []; names.forEach((name,idx) => { score.set(name, yearning[idx]) }) photos.forEach((photo) => { let sum = 0; photo.forEach(people => {sum += score.get(people) ? score.get(people) : 0}) answer.push(..
인트로 더이상 미룰 수 없어서 풀어보는 프로그래머스... 알고리즘 해야하는데... 문제 레벨1 : https://school.programmers.co.kr/learn/courses/30/lessons/142086 나의 풀이 function solution(s) { const stringArr = [...s]; const result = []; let closestIdx = -1; stringArr.map((el,idx)=> { for (let i = 0; i < idx; i++) { if(stringArr[i] === el) { closestIdx = idx-i; } } result.push(closestIdx); closestIdx = -1; }) return result; } 다른 풀이 참고 객체를..
인트로 조금 더 깔끔하게 풀고 싶었지만.... 실풰... 뭔가 간단한 문제인데 복잡하게 푼 느낌입니다... 문제 레벨 1: https://school.programmers.co.kr/learn/courses/30/lessons/12926 나의 풀이 function solution(s, n) { const arr = s.split(''); const upper = new Array(26).fill(65).map((el, idx) => String.fromCharCode(el+idx)); const lower = new Array(26).fill(97).map((el, idx) => String.fromCharCode(el+idx)); const result = arr.map(el => { if (el !=..
인트로 문제 이름이 어떻게 수박수박수박수박수박수? 이름이 너무 마음에 들어서 풀어봤습니다. 문제 레벨 1: https://school.programmers.co.kr/learn/courses/30/lessons/12922 나의 풀이 첫 번째 풀이 function solution(n) { let answer = ''; for (let i = 0; i < n; i++) { (i%2===0) ? answer+='수' : answer+='박'; } return answer; } 두 번째 풀이 repeat을 사용해서 다시 풀어봤습니다. function solution(n) { let answer = '수박'.repeat(n/2); return (n%2===0) ? answer : answer+'수'; } 더 빠르..
인트로 오늘은 정겨운 소수 찾기 문제를 풀어보았습니다. 문제 레벨1 : https://school.programmers.co.kr/learn/courses/30/lessons/12921 나의 풀이 첫 번째 풀이의 경우 효율성에서 시간 초과가 났습니다. 그러고 보니 백준에서도 이런 문제를 풀었는데 똑같은 상황을 겪었던 기억이 나네요.. 그때도 뭐 체 방법을 써야 된다고 했었는데 까먹었습니다. 그래서 로직을 찾아봤습니다. function solution(n) { let cnt = 1; let flag = 1; for (let j = 3; j