본문 바로가기

반응형

코딩 테스트

[프로그래머스] 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.. 더보기
[프로그래머스] level2. 영어 끝말잇기 (javascript) 문제 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다. 1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다. 마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다. 앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다. 이전에 등장했던 단어는 사용할 수 없습니다. 한 글자인 단어는 인정되지 않습니다. 다음은 3명이 끝말잇기를 하는 상황을 나타냅니다. tank → kick → know → wheel → land → dream → mother → robot → tank 위 끝말잇기는 다음과 같이 진행됩니다. 1번 사람이 자신의 첫 번째 차례에 tank를 말합니다. 2번 사람이 자신의 첫 번째 차례에 kic.. 더보기
[프로그래머스] level2. 스킬트리 (javascript) 문제 선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다. 예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다. 위 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 따라서 스파크 → 힐링 → 라이트닝 볼트 → 썬더와 같은 스킬트리는 가능하지만, 썬더 → 스파크나 라이트닝 볼트 → 스파크 → 힐링 → 썬더와 같은 스킬트리는 불가능합니다. 선행 스킬 순서 skill과 유저들이 만든 스킬트리1를 담은 배열 skill_trees가 매개변수로 주어질 때, 가능한 스킬트리 개수를 return 하는 solution 함수를 작성해주세요. 제한 조건 스킬은.. 더보기
[프로그래머스] level2. 게임 맵 최단거리 (javascript) 문제 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5) 위치에 있는 경우의 예시입니다. 위 그림에서 검은색 부분은 벽으로 막혀있어 갈 수 없는 길이며, 흰색 부분은 갈 수 있는 길입니다. 캐릭터가 움직일 때는 동, 서, 남, 북 방향으로 한 칸씩 이동하며, 게임 맵을 벗어난 길은 갈 수 없습니다. 아래 예시는 캐릭터가 상대 팀 진영으로 가는 두 가지 방법을 나타내고 있습니다. 첫 번째 방법은 11개의 .. 더보기

반응형