본문 바로가기

반응형

프로그래머스

[프로그래머스] level1. 숫자 문자열과 영단어 (javascript) 문제 문제 나의 풀이 function solution(s) { return +s.replace(/zero/g,0) .replace(/one/g,1) .replace(/two/g,2) .replace(/three/g,3) .replace(/four/g,4) .replace(/five/g,5) .replace(/six/g,6) .replace(/seven/g,7) .replace(/eight/g,8) .replace(/nine/g,9) } replace를 이용해서 풀었다. 또한 number형태로 하기위해 앞에 +를 붙여주었다. 다른 풀이 split와 join을 통해 풀수도 있다. 예를들어 let string = "onetwothree" let arr = string.split("one")위 와 같이 하면 a.. 더보기
[프로그래머스] level2. 점프와 순간 이동(javascript) 문제 프로그래머스 나의 풀이 function solution(n) { var ans = 0; while(n > 1){ if ( n % 2 == 0 ){ n = (n/2) } else{ n = n-1 ans++ } } return ans+1; } n에서 2로 나누어 떨어지면 n/2, 아니면 n-1을 해주는 과정을 1이 될때까지 과정을 반복하고, 마지막에 1을 더해주는것으로 정답을 구했다. ( 0에서 1은 점프를 해야되니까) 다른이의 풀이 const nArr = Array.from(n.toString(2));이와 같이 toString을 통해 2진법으로 만들고 1의 갯수를 세어도 정답이다. 더보기
[프로그래머스] level3. 베스트앨범 (javascript) 문제 [https://programmers.co.kr/learn/courses/30/lessons/42579] 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr 나의 풀이 function solution(genres, plays) { var answer = []; let obj = {}; let obj2 = {}; //obj에 장르의 총 재생횟수, obj2에 장르별 모든 [고유번호,재생횟수]를 넣어주었다. for(let i = 0 ; i < genres.length;i++){ if (obj[genres[i]].. 더보기
[프로그래머스] level1. 약수의 개수와 덧셈(javascript) 문제 프로그래머스 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr 나의 풀이 function solution(left, right) { var answer = 0; let diff = right - left; function judge(num){ let cnt = 0; for(let i = 0 ; i 더보기
[프로그래머스] level2. [3차] 방금 그곡 (javascript) 문제 https://programmers.co.kr/learn/courses/30/lessons/17683 나의풀이 처음에 #을 따로 처리해 주면서 만들었는데, 에러가 나서 구글링 시작했다. 다른이의 풀이 참조해서 작성한 코드 참조 : 블로그 프로그래머스 - 방금그곡 (javascript) [2018 카카오공채] velog.io function solution(m, musicinfos) { var answer = []; m = m .replace(/(C#)/g,"c") .replace(/(D#)/g,"d") .replace(/(F#)/g,"f") .replace(/(G#)/g,"g") .replace(/(A#)/g,"a"); // step1. 시간 계산 for(let i = 0 ; i < musicinf.. 더보기
[프로그래머스] level2. 소수 찾기 (javascript) 문제 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 나의 풀이 function solution(numbers) { var answer = 0; //소수 찾는 함수 function findprime(num){ if(num == 0 || num ==1) return false if (num == 2 || num ==3 ) return true for(let i = 2; i [el]) arr.forEach((fixed,index,origin)=>{ const re.. 더보기
[프로그래머스] level3. 네트워크 (javascript) 문제 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 나의 풀이 모르겠다. 다른 사람의 풀이 function solution(n, computers) { var answer = 0; let visited = new Array(n).fil.. 더보기
[프로그래머스] level2. 124나라의 숫자(javascript) 문제 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. 나의 풀이 다른이의 풀이 function solution(n) { let numbers = ['4', '1', '2'] let answer = '' while (n){ answer = numbers[n % 3] + answer n = (n % 3 == 0) ? n/3 -1 : Math.floor(n/3) } return answer; } 나는 왜이리 못했을까................. function change124(n) { return n === 0 ? '' : change124(parseInt((n - 1) / 3)) + \[1, 2, 4\]\[(n.. 더보기

반응형