본문 바로가기

Algorithm33

[JavaScript] 프로그래머스 - 음양 더하기 /* 문제 : 정수들의 합을 구하라 자료 : 정수 배열 absolutes, boolean 배열 signs 조건 : signs의 길이는 absolutes의 길이와 같습니다 signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미 계획 : for문으로 signs[i]가 true면 absolutes[i] * 1을 , false 면 * -1을 한 배열의 합을 리턴함 반성 : 배열에 새로 추가할 필요없이 합을 구할수있는 방법이 있었다니... forEach 사용해서 푸는법을 알게 돼서 좋다. */ const solution = (absolutes, signs) => { let answer = []; for (let i = 0; i < signs.length; i++).. 2022. 9. 22.
[JavaScript] 프로그래머스 - 제일 작은 수 제거하기 /* 문제 : 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 구하라 자료 : arr은 길이 1 이상인 배열 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 조건 : 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴 계획 : 정렬을 한 다음에 index[0]을 제거한 걸 반환하면... 테스트에 걸리겠지. 반성 : splice를 이용해 풀려다가 그냥 filter를 이용해서 풀고 splice를 쓴 사람의 풀이를 보고 다시 풀어봤다. 처음부터 나한테 익숙하지 않은 풀이 방법을 선택해봐야하는데... 그리고 처음에 계획했던 풀이는 역시나 테스트에 걸렸다. ㅎㅎ */ // const solution = (arr) => { // arr.sort((a, b) => b - a.. 2022. 9. 22.
[JavaScript] 프로그래머스 - 나누어 떨어지는 숫자 배열 /* 문제 : array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수를 만들어라 자료 : arr은 자연수를 담은 배열, divisor는 자연수, 조건 : 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환 계획 : 반복문을 돌려 배열의 각 원소에서 5로 나누어 떨어지는 값들을 모아 새로운 배열 result에 넣고, 오름차순 하여 반환 반성 : filter로 먼저 하는게 더 간단한 풀이였을 거 같다. */ const solution = (arr, divisor) => { let result = []; for (let i = 0; i < arr.len.. 2022. 9. 22.
[JavaScript] 프로그래머스 - 핸드폰 번호 가리기 /* 문제 : 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수를 만들어라 자료 : phone_number는 길이 4 이상, 20이하인 문자열 조건 : 뒷 4자리를 제외한 나머지 숫자를 전부 *로 가려라 계획 : map()을 이용해서... index [0]~ [8] 까진 *으로... 아니면 문자열을 반복문으로 바꾼다. 반성 : map()을 이용해 푸려던 건 잘못된 접근이었고 바로 for문으로 푸는 건 풀었지만 다른 방식이 아예 생각이 안 났었다. 정규식을 이용하는 거나 repeat()도 처음알았고, slice()는 매번 쓰는데도 헷갈렸었다... */ const solution = (phone_number) => .. 2022. 9. 22.