전체 글
-
[Programmers] 프로그래머스 1단계 : 예산Algorithm/Programmers Lv.1 2023. 5. 29. 11:37
💡 문제 설명 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요. 🚫 제한 조건 • d는 부서..
-
[Programmers] 프로그래머스 2단계 : 점프와 순간 이동Algorithm/Programmers Lv.2 2023. 5. 26. 10:32
💡 문제 설명 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈트는 건전지로 작동되는데, 순간이동을 하면 건전지 사용량이 줄지 않지만, 앞으로 K 칸을 점프하면 K 만큼의 건전지 사용량이 듭니다. 그러므로 아이언 슈트를 착용하고 이동할 때는 순간 이동을 하는 것이 더 효율적입니다. 아이언 슈트 구매자는 아이언 슈트를 착용하고 거리가 N 만큼 떨어져 있는 장소로 가려고 합니다. 단, 건전지 사용량을 줄이기 위해 점프로 이동하는 것은 최소로 하려고 합니다. 아이언 슈트 구매자가 이동하려는 거리 N이 주어졌을 때, 사용해야 하는 건전지 사용량의 최솟값을 retu..
-
[Programmers] 프로그래머스 1단계 : 이상한 문자 만들기Algorithm/Programmers Lv.1 2023. 5. 24. 13:35
💡 문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 🚫 제한 조건 • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 입출력 예 s return "try hello world" "TrY HeLlO WoRlD" 나의 풀이 function solution(s) { const arrS = s.split(" "); const mapS = arrS.map(el => el.split("").ma..
-
[Programmers] 프로그래머스 1단계 : 문자열 다루기 기본Algorithm/Programmers Lv.1 2023. 5. 17. 12:15
💡 문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 🚫 제한 조건 • s는 길이 1 이상, 길이 8 이하인 문자열입니다. • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다. 입출력 예 s return "a234" false "1234" true 나의 풀이 function solution(s) { // 길이가 4 혹은 6이 아닌 경우 false if(s.length !== 4 && s.length !== 6) return false; /* isNaN : 어떤 값이 NaN인지 판별 NaN : Not-A-Number (..
-
[Programmers] 프로그래머스 1단계 : 부족한 금액 계산하기Algorithm/Programmers Lv.1 2023. 5. 12. 09:15
💡 문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 🚫 제한 조건 • 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수 • 처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,000,000, money는 자연수 • 놀이..
-
[Programmers] 프로그래머스 2단계 : 예상 대진표Algorithm/Programmers Lv.2 2023. 5. 11. 12:23
💡 문제 설명 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 참가자끼리 게임을 진행합니다. 각 게임에서 이긴 사람은 다음 라운드에 진출할 수 있습니다. 이때, 다음 라운드에 진출할 참가자의 번호는 다시 1번부터 N/2번을 차례대로 배정받습니다. 만약 1번↔2번 끼리 겨루는 게임에서 2번이 승리했다면 다음 라운드에서 1번을 부여받고, 3번↔4번에서 겨루는 게임에서 3번이 승리했다면 다음 라운드에서 2번을 부여받게 됩니다. 게임은 최종 한 명이 남을 때까지 진행됩니다. 이때, 처음 라운드에서 A번을 가진 참가자는 경쟁자로 생각하는 B번 참가자와 ..
-
[Programmers] 프로그래머스 1단계 : 약수의 개수와 덧셈Algorithm/Programmers Lv.1 2023. 5. 11. 11:52
💡 문제 설명 두 정수 left 와 right 가 매개변수로 주어집니다. left 부터 right 까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. 🚫 제한 조건 • 1 ≤ left ≤ right ≤ 1,000 입출력 예 left right result 13 17 43 24 27 52 나의 풀이 function solution(left, right) { let result = 0; for(let i = left; i
-
[Programmers] 프로그래머스 1단계 : 문자열 내림차순으로 배치하기Algorithm/Programmers Lv.1 2023. 5. 10. 11:54
💡 문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 🚫 제한 조건 • str은 길이 1 이상인 문자열입니다. 입출력 예 s return "Zbcdefg" "gfedcbZ" 나의 풀이 function solution(s) { /* Example. "Zbcdefg" 1. split로 문자열을 배열로 변신 ["Z", "b", "c", "d", "e", "f", "g"] 2. sort로 대문자-소문자 a-z 순으로 정렬 ["Z", "b", "c", "d", "e", "f", "g"] 3. reverse로 부침개 뒤집기 ["g", "f", "e"..