프로그래머스/level 1 58

[프로그래머스][위클리챌린지] 4주차 직업군 추천하기

(월요일 11시 예약 발행..!) 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 1) function solution(table, languages, preference) { const data = table.reduce((obj, row) => { let sources = row.split(" "); const dept = sources.shift(); obj[dept] = obj[dept] || ["", ...sources.reverse()]; return obj; }, {}); let sumArr = []; for (const scores of Object.values(data)) { let sum = 0..

[프로그래머스] 실패율

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 알고리즘 강의 듣다 보니 이제 무엇을 써야 할지 감이 잡히는 것 같다. 계수정렬을 이용했다. ** Javascript Object 를 안 쓰려했는데 결국 쓰게 됐다. function solution(N, stages) { let challenging = new Array(N + 1).fill(0); for (let i = 0; i < stages.length; i++) { challenging[stages[i] - 1]++; } let challengers = stages.length; let ratio = []; for (let i = 0; i < N; i++) { ratio.push({..

[프로그래머스] 서울에서 김서방 찾기

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript function solution(seoul) { return `김서방은 ${seoul.indexOf("Kim")}에 있다`; } 노마드코더가 알려준 sexy javascript backticks 사용! ** Python 파이썬은 세 가지 방법이 있다. 방법마다 특징이 있다. 1) def solution(seoul): return "김서방은 " + str(seoul.index("Kim")) + "에 있다" - 속도가 가장 빠름 - 메모리 가장 적게 차지함 2) def solution(seoul): return ('김서방은 %d에 있다' %seoul.index('Kim..

[프로그래머스] 문자열을 정수로 바꾸기

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 초간단! function solution(s) { return Number(s); } 근데 굳이 Number 쓰지 않고도 숫자 변환을 할 수 있다. function solution(s) { return parseInt(s); } function solution(s) { return s * 1; } function solution(s) { return +s; } function solution(s) { return s / 1; } 네 가지 풀이 중에서는 +s 를 사용하는 게 가장 빠르다. ** Python def solution(s): return int(s) ** ..

[프로그래머스] 약수의 합

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 1) 처음에 제출했던 풀이 function solution(n) { let answer = 0; for (let i = 1; i (n % (index + 1)) ? 0 : index + 1) .reduce((acc, curr) => acc += curr, 0); } function solution(n) { return new Array(n).fill(0) .reduce((acc, curr, index) => acc += (n % (index + 1)) ? 0 : index + 1, 0); } 하지만 for 문 돌리는 게 가장 빠르다. 풀이 중 추천 1등은 재귀의 신..

[프로그래머스] 이상한 문자 만들기

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 1) 맨 처음 제출한 풀이는 이랬다. 프로그래머스 접한 지 얼마 안돼서 푼 문제여서 혼자 되게 뿌듯했던 기억이 있다 지금 보면 약간 흑역사지만 function solution(s) { var [ ...strings ] = s.split(" "); var answers = []; for (var string of strings) { var temp = ""; for (var i=0; i Array.from(word).reduce((acc, curr, index) => acc += (index % 2) ? curr.toLowerCase() : curr.toUpperCa..

[프로그래머스] 자릿수 더하기

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 1) 맨 처음 제출한 코드는 이렇다. function solution(n) { let answer = 0; const string = `${n}`; for (var i=0; i acc += parseInt(curr), 0); } 3) 숫자 n 을 string 으로 만들지 않는 풀이는 다음과 같다. function solution(n) { let answer = 0; while(n > 0) { answer += n % 10; n = Math.floor(n / 10); } return answer; } ** Java 1) 숫자로만 자릿수를 구해서 합산하는 방법 impo..

[프로그래머스][위클리챌린지] 2주차 상호평가

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges ** Javascript 입력 값으로는 본인이 매긴 점수들이 들어오는데 본인이 받은 점수로 평균을 내야 하기 때문에 우선 row 와 column의 위치를 바꿔야 했다. 바뀐 식에서 인덱스가 (i, i)이고 유일한 max 혹은 min 값일 경우 filter가 되어야 했는데 다른 풀이를 보면 splice를 하면 됐지만 나는 그렇게 까지는 생각을 못하고 0으로 바꿔줬다. 그리고 0으로 바뀐 값들을 제외시켰다. function solution(_scores) { const scores = _scores .map((row, i) => row.map((col, j) => _scores[j][i])) ..

반응형