소수

문제 설명 문제 풀이 방법 우선 n을 k진수로 바꾸는 것부터 시작했고, 문제 설명에서 0과 인접한 수들을 추출하는 것으로 문제를 파악하기 시작했다. 이는 split('0')을 해주면 0을 기준으로 0이 제외된 배열을 반환하게 되기에 수들의 배열을 확인할 수 있다. 그리고 filter메서드로 1과 빈 문자열을 제외해준다. 0이 제외된, 0에 인접했던 수들의 배열을 forEach메서드를 이용해 각 수들이 소수임을 확인한다. 소수가 맞다면 반환할 값에 1을 더해준다. 이렇게 더해진 값을 반환해준다. 코드 1 function solution(n, k) { let answer = 0; const num = n.toString(k).split('0').filter((e) => { return e !== '1' ? ..
문제 설명 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 사항 n은 2이상 1000000이하의 자연수입니다. 문제 풀이 방법 이 소수찾기 문제는 두 함수로 나누어서 풀어보았다. 첫번째 함수는 인자로 전달된 수가 소수인지 true / fasle 를 반환한다. for문에서 Math.sqrt를 사용한 이유는 주어진 수를 나누어 나머지를 확인할 때 중복된 동작을 방지하기 위함이다. (ex. 8이 주어진 경우 약수는 1, 2, 4, 8 이지만, 재곱근 2.8284....을 이용해 풀어주면 2 까지 동작하면 된다.) 그리고 소수이면 true, 아니면 false를 반환한여 ..
문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한 사항 umbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 문제 풀이 방법 문자열로 들어오는 numbers를 split("")로 1개씩 나누어준다. 이번에는 Set()를 사용했다. Set()는 중복을 허용하지 않는 값을 모아놓은 특별한 컬렉션이다. 셋에 키가 없는 ..
58청춘
'소수' 태그의 글 목록