본문 바로가기

반응형

level1

[프로그래머스] level1. 나누어 떨어지는 숫자 배열 ( javascript) 문제 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 의식의 흐름 filter로 divisior 로 나눈 목이 0 인거 걸러주면 끝 sort로 오름차순 정렬 빈 배열 체크하고 처리 => 어떻게 하지? => 검색해보니까 length로 체크하더라. 빈 배열은 자바스크립트에서 'true' 였다. 빈 배열 나타내는게 '',[] 등 많은데 뭔가 이상해서 length로 판단하는게 나을 것 같다. 초기 코드 function solution(arr, divisor) { const answer = arr.filter((el)=> .. 더보기
[프로그래머스] level1. 소수찾기 ( javascript) 문제 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 의식의 흐름 소수 찾는 법을 모르겠다. 다른 이들의 정답 방법1. function solution(n) { var arr = []; var cnt = 0; for (var i = 0; i < n + 1; i++) { arr.push(true); } for (var i = 2; i * i O(logn)개념 여기서는 제곱근 대신 제곱을 사용하였다. 방법2. function numberOfPrime(n) { var result = 0; // 함수를 완성하세요. var cnt=0; for(var a=2;a 더보기
[프로그래머스] level1. 서울에서 김서방 찾기 (javascript) 문제 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 의식의 흐름 위치(인덱스)를 찾는거기에 그냥 indexOf 함수를 쓰면 끝 function solution(seoul) { const local = seoul.indexOf("Kim") return "김서방은 " + local+"에 있다"; } 배열에서 indexOf 함수를 통해 key값을 통해 인덱스를 찾을 수 있다는 것만 알면 된다! 더보기
[프로그래머스] level1. 문자열 내림차순으로 배치하기(javascript) 문제 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 의식의 흐름 sort를 통해 정렬해주면 되겠다. 문자열 정렬은 단순 sort((a,b)=>a-b) 같은 형태로 하면 안된다는걸 알게됨. 단순 뒤집어 주기만 하면 reverse 쓰는게 더 좋아보인다. function solution(s) { return s.split('').sort().reverse().join(''); } 다른 이들의 정답 function solution(s) { return s.split("").sort((a,b) => a 배열 : split() 배열 => 문자열 : .joi.. 더보기
[프로그래머스] level1. 폰켓몬 (javascript) 문제 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택 첫 번째.. 더보기
[프로그래머스] level1. 두 정수 사이의 합 (javascript) 문제 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 의식의 흐름 그냥 단순 for 문 돌리는것 같아서 일단 짜봄 초기코드(정답) function solution(a, b) { var answer = 0; for (let i = 0 ; i b){ answer = answer + (b+i) } else if (b > a){ answer = answer + (a+i) } else { answer = a } } return answer; } 다른 사람 정답 방법1. function adder(a, b){ var result = 0 //함수를 완성하.. 더보기
[프로그래머스] level1. 같은 숫자는 싫어 (javascript) 문제 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 의식의 흐름 set을 써서 겹치는 부분을 없앨라고 했는데, 그러면 1번 케이스처럼 잘못되는 경우가 생김. 단순하게 .. 더보기
[프로그래머스] level1. 3진법 뒤집기 (javascript) 문제 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 의식의 흐름 진수 표현을 어떻게 하는가? = 제곱근으로 한다. 3진수 표현을 하려면 어떻게 할까? = 3으로 나눈 몫과 나머지를 이용한다. for 문과 배열을 통해서 3진수의 자리에 맞는 숫자를 넣어준다. 초기 코드 function solution(n) { var answer = 0; let x = 0; let y = n; while(y >= 3){ x = x+ 1; y = parseInt(y / 3); } let tmp_arr = [] let reserve_arr=[] for(let i =0; i < x+1 ; i ++){ tmp_.. 더보기

반응형