728x90
반응형

전체 글 192

JS Practice) 프로그래머스 : 가까운 수

가까운 수 문제설명 : 정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요. 제한 사항 1 ≤ array의 길이 ≤ 100 1 ≤ array의 원소 ≤ 100 1 ≤ n ≤ 100 가장 가가운 수가 여러 개일 경우 더 작은 수를 return 입출력 예 array n result [3, 10, 28] 20 28 [10, 11, 12] 13 12 첫번째 접근 : Math.abs()와 Math.min()을 사용해 n과 가장 가까운 수의 절대값 차를 구할 수 있다. 절대값의 차를 이용해 배열의 해당 요소를 반환하면 된다. function solution(array, n) { let abs = arr..

JS Practice) 프로그래머스 : 숫자 빈도수 구하기

숫자 빈도수 구하기 문제설명 : 두 자연수 M, N을 받아 N에서 M까지의 자연수에서 0~9의 각 빈도수 값을 배열로 반환 제한 사항 N, M은 10,000 이하의 자연수 입출력 예 N, M result 129, 137 [1, 10, 2, 9, 1,1,1,1,0,1] 1412, 1918 [100, 614, 101, 101, 189, 201, 201, 201, 201, 119] 첫번째 접근 : N부터 M까지의 숫자들을 string으로 만들어 합쳤다. 그리고 요소로 0을 가진 길이 10의 배열을 만들었다. string으로 만든 배열을 돌며 arr에 string배열 요소의 인덱스 값에 1을 더해주어 문제를 해결했다. function solution(N, M) { let arr = new Array(10).fi..

JS Practice) 프로그래머스 : 중복된 문자 제거

중복된 문자 제거 문제설명 : 문자열 my_string 이 매개변수로 주어진다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return 하도록 solution 함수를 완성하라. 제한 사항 1 ≤ my_string ≤ 110 my_string은 대문자, 소문자, 공백으로 구성되어 있습니다. 대문자와 소문자를 구분합니다. 공백(" ")도 하나의 문자로 구분합니다. 중복된 문자 중 가장 앞에 있는 문자를 남깁니다. 입출력 예 my_string result "people" "peol" "We are the world" "We arthwold" 첫번째 접근 : Set()은 유일한 값만 담을 수 있으므로 Set()에 해당 문자열을 전달해 중복된 문자열이 제거된 Set 객체를 만든다. ..

JS Practice) 프로그래머스로 공부하기 9

1. 외계행성의 나이 : 우주여행을 하던 머쓱이는 엔진고장으로 모 행성에 불시착했다. 입국심사에서 나이를 말해야 하는데, 이 행성에서는 0~9는 a~j로 대체한다. 매개변수로 나이가 주어질 때, 이 행성식 나이 return - 내가 짠 코드 // 전 function solution(age) { let str = 'abcdefghij'; let num = String(age).split(''); let answer = [] for(let i=0; i { answer += str[Number(el)] } ) return answer } - solution function solution(age) { return age .toString() .split("") .map((v) => "abcdefghij"[v]..

JS Practice) 프로그래머스 : A로 B만들기

Q) 2개의 문자열, before와 after가 주어질 때, before의 순서를 바꿔 after를 만들 수 있으면 1, 만들 수 없으면 0을 return 하는 함수를 만들어라. ex) before : 'olleh', after : 'hello' // 1 ex) before : 'allpe', after : 'apple' // 2 첫번째 풀이) function solution(before, after) { let reverse = after.split("").reverse().join(""); return before === reverse ? 1 : 0; } 제출 후 최종 통과가 되지 않아 한참을 헤메었다. 문제를 자세히 보지 않았던게 헤메었던 이유였다. 문제를 보면, '순서를 바꿔 만들 수 있다'고 한..

JS Practice) 프로그래머스로 공부하기 7

1. 가위 바위 보 : 가위는 2, 바위는 0, 보는 0일때 가위 바위 보를 낸 순서가 담긴 문자열이 주어진다. 이를 이기는 경우를 순서대로 나타낸 문자열 return - 내가 짠 코드 // 전 function solution(rsp) { let rspArr = rsp.split(""); let answer = ''; for(let i=0; i el === '2' ? '0' : (el === "0" ? "5" : "2")).join("") } - solution function solution(rsp) { let arr = { 2: 0, 0: 5, 5: 2 }; var answer = [...rsp].map(v => arr[v]).join(""); return answer; } 2. 세균증식 : 어떤 세..

JS Practice) 프로그래머스로 공부하기 6

1. 모음 제거 : 주어진 문자열 내 모음을 제거한 문자열 return - 내가 짠 코드 function solution(my_string) { return Array.from(my_string).filter(t => !'aeiou'.includes(t)).join(''); } - solution function solution(my_string) { return my_string.replace(/[aeiou]/g, ''); } 2. 개미 군단 : 개미 군단이 사냥을 나간다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력, 일 개미는 1의 공격력을 지니고 있다. 사냥감의 체력이 주어질 때, 최소한의 병력의 수 return - 내가 짠 코드 // 전 function solution(hp) { let a..

JS Practice) 프로그래머스로 공부하기 5

1. 삼각형의 완성조건 (1) : 삼각형의 세 변의 길이가 담긴 배열 slides가 주어질 때, 삼각형을 만들 수 있으면 1, 없으면 2 반환 (가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 함) - 내가 짠 코드 // 전 function solution(sides) { let maxNum = Math.max(...sides); let sum=0; for(let i=0; i acc + cur) - maxNum; console.log(maxNum) return maxNum a-b) return sides[0]+sides[1] > sides[2] ? 1..

JS Practice) 프로그래머스 : 문자 반복 출력하기 / 중앙값 구하기 / 특정 문자 제거하기 / 짝수는 싫어요 / 순서쌍의 개수

1. 문자 반복 출력하기 : 문자열 my_string과 n이 주어질때, 각 문자를 n번 반복한 문자열 return - 내가 짠 코드 // 전 function solution(my_string, n) { let arr = my_string.split(''); let answer = [] for(let i=0; i a-b) let i=Math.round(arr.length / 2) return arr[i-1] } // 후 function solution(array) { let arr = array.sort((a,b)=> a-b) return arr[Math.ceil(arr.length/2) -1] } - solution function solution(array) { return array.sort((a, ..

728x90
반응형