반응형

전체 글 140

프로그래머스) 실패율

https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 나의 풀이 function solution(N, stages) { const objList = []; let object = {}; for (let i = 1; i stge === i).length / stages.length; object['stage'] = i; stages = stages.filter(val => val !== i); objList.push..

IT/Algorithm 2021.10.24

프로그래머스) 오픈채팅방

https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 처음으로 레벨1이 아닌 레벨2 알고리즘을 풀어보았다! 다행히도 통과하긴 했다.. ㅋㅋ 나의 풀이 function solution(record) { const object = {}; record.map(sen => sen.split(" ")).forEach(log => log[2] ? object[log[1]] = log[2] : log); return recor..

IT/Algorithm 2021.10.21

프로그래머스) x만큼 간격이 있는 n개의 숫자

https://programmers.co.kr/learn/courses/30/lessons/12954 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. programmers.co.kr 나의 풀이 function solution(x, n) { const answer = [x]; n -= 1; while(n) { answer.push(answer[answer.length - 1] + x); n -= 1; } return answer; } while문을 사용하였고 배열의 끝 값에 x를 더한 값을 ..

IT/Algorithm 2021.10.21

프로그래머스) 콜라츠 추측

https://programmers.co.kr/learn/courses/30/lessons/12943 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2 programmers.co.kr 나의 풀이 function solution(num) { let repeatCount = 0; while(num !== 1) { if (repeatCount === 500) { repeatCount = -1; break; } if (!(num % 2)) { num = num / 2; repeatCount += 1; continue; ..

IT/Algorithm 2021.10.21

프로그래머스) 약수의 개수와 덧셈

https://programmers.co.kr/learn/courses/30/lessons/77884 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr 나의 풀이 function isOddOrEven(num) { let divisorCount = 0; for (let i = 1; i

IT/Algorithm 2021.10.20

Binary Search Tree (BST)와 AVL Tree

Binary Search Tree (BST) 이진 검색 트리는 정렬된 트리 데이터 구조이다. 모든 부모 노드에는 최대 두 개의 자식 노드가 있으며, 부모 노드의 왼쪽 자식 노드는 항상 부모 노드보다 작고 오른쪽 자식 노드는 항상 부모 노드보다 크다. 모든 트리 자료구조와 같이 이진 검색 트리는 Root가 있고(최상단 노드), 부모 노드에는 최대 두 개의 자식 노드들이 있으며 이것을 Siblings라고 한다. 노드 사이의 연결을 edge라고 하고, 자식이 없는 노드를 leaf라고 한다. 이진 검색 트리는 순차적으로 정렬된 자료구조로서, 데이터 삽입 시 노드가 순서대로 배치된다. 따라서 이러한 정렬된 순서는 검색을 빠르게 만든다. 배열과 달리 데이터는 참조 형식으로 저장된다. 자료구조에 저장할 때, 우리는 ..

IT/Computer Science 2021.10.19

프로그래머스) 나머지가 1이 되는 수 찾기

https://programmers.co.kr/learn/courses/30/lessons/87389 코딩테스트 연습 - 나머지가 1이 되는 수 찾기 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 입 programmers.co.kr 나의 풀이 function solution(n) { const divideList = []; for (let i = n - 1; i > 0; i--) { if ((n % i) === 1) { divideList.push(i); } } return divideList.pop(); } 약수를 리스트에 저장하고, 반복문이..

IT/Algorithm 2021.10.19

프로그래머스) 소수 만들기

https://programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 나의 풀이 function solution(nums) { const combiList = []; for (let i = 0; i < nums.length; i++) { for (let j = 0; j < nums.length; j++) { for (let k = 0; k < nums.length; k++) { if (!combiList.inc..

IT/Algorithm 2021.10.19

프로그래머스) 3진법 뒤집기

https://programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 나의 풀이 toString으로 3진수 형 변환 -> split으로 배열로 만들기 -> reverse로 순서 뒤집기 한 후에, 이것을 parseInt의 문자열 입력 부분에 넣고 3진수를 10진법으로 표현하였다. function solution(n) { return parseInt(n.toString(3).split("..

IT/Algorithm 2021.10.18

프로그래머스) 부족한 금액 계산하기

https://programmers.co.kr/learn/courses/30/lessons/82612 코딩테스트 연습 - 1주차_부족한 금액 계산하기 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 programmers.co.kr 나의 풀이 function solution(price, money, count) { let needMoney = 0; while (count) { needMoney += price * count; count -= 1; } return needMoney - money > 0 ? needMoney - money : 0 ; } coun..

IT/Algorithm 2021.10.15
반응형