목록코딩테스트 (47)
초보 개발자의 일기
JS에서 소수를 판별할 수 있는 방법은 총 3가지가 있다. 1. 모든 수로 나누어가며 판별하기 2. 각 숫자의 절반만큼만 나누어가며 판별하기 3. 각 숫자의 제곱근까지 나누어가며 판별하기 1번 일단 숫자가 2면 소수이므로 true로 리턴 그 후 각 숫자까지 모든 숫자로 나누어서 0이 되면 false로 리턴 해당하지 않으면 소수이므로 true리턴 function isPrime(num){ if(num===2) return true; for(let i = 2; i

문제 입력 첫째 줄에 N(1≤N≤100,000), M(1≤M≤100,000,000)이 주어진다. 수열의 원소값은 1,000을 넘지 않는 자연수이다. 출력 첫째 줄에 경우의 수를 출력한다. 입력 예시 5 5 1 3 1 2 3 출력 예시 10 풀이 방법 내 코드 Solution 느낌점

문제 입력 첫째 줄에 N , M이 주어진다. 수열의 원소값은 1000을 넘지 않는 자연수이다. 출력 첫째 줄에 경우의 수를 출력한다. 입력 예시 8 6 1 2 1 3 1 1 1 2 출력 예시 3 풀이 방법 for문을 한번만 돌리면서 왼쪽 변수인 lt, 오른쪽 변수인 rt를 설정하여, rt를 증가시키면서 sum값과 n값을 비교한다 값을 경우 answer를 증가 sum이 n보다 클거나 같을 경우 제일 앞 숫자를 빼면서 값을 비교하며 부분 수열을 만든다. 내 코드 Solution 느낌점

문제 입력 첫 번째 줄에 첫 번째 배열의 크기 N 두 번째 줄에 N개의 배열 원소가 오름차순 세 번째 줄에 두 번째 배열의 크기 M 네 번째 줄에 M개의 배열 원소가 오름차순 출력 오름차순으로 정렬된 배열을 출력합니다. 입력 예시 3 1 3 5 5 2 3 6 7 9 출력 예시 1 2 3 3 5 6 7 9 풀이 방법 두 배열을 입력받은 후 배열의 길이 만큼 for문을 돌려 새로운 배열에 push해 배열을 만든다 그 후 새로 만들어진 배열을 sort로 오름차순 정렬을 한다. 내 코드 Solution 느낌점 전에 배운 sort 오름차순 정렬을 알고 나니 쉬운 문제였다.

문제 입력 첫 줄에 자연수 N과 K 입력되고, 그 다음 줄에 N개의 카드값이 입력된다. 출력 첫 줄에 K번째 수를 출력합니다. K번째 수는 반드시 존재합니다. 입력 예시 10 3 13 15 34 23 45 65 33 11 26 42 출력 예시 143 풀이 방법 for문을 3번 중복해 풀이하였다. 내 코드 Solution 느낌점 쉽지 않다. 오름차순 정렬 let numbers = [1, 10, 2, 20, 3, 30]; numbers.sort(function compare(a, b) { return a - b; }); console.log(numbers); // [1,2,3,10,20,30] 내림차순 정렬 let numbers = [1, 10, 2, 20, 3, 30]; numbers.sort(functi..

문제 입력 학생 수 N 시험횟수 M 그 아래 각 시험에서 나온 학생의 등수를 입력받는다. 출력 첫 번째 줄에 짝을 만들 수 있는 총 경우를 출력합니다. 입력 예시 4 3 3 4 1 2 4 3 2 1 3 1 4 2 출력 예시 3 풀이 방법 내가 직접 시도를 하였는데 내 생각으로 풀리지 않아 풀이를 보고 풀었다. for문을 4중 for문을 돌려서 풀었다. 첫번째로 각 학생의 최종등수인 4를 각자리의 결과값으로 두고 두번의 for문을 더 돌려 [0][0]. [0][1]...[3][3],[3][4]까지의 자리수가 각각 i,j와 일치하는 경우를 변수에 저장한 후 pi가 pj보다 작으면 멘토가 가능하다는 알고리즘으로 문제를 풀었다. 내 코드 Solution 느낌점 어렵다

문제 입력 첫 줄에 자연수의 개수 N이 주어지고, 그 다음 줄에 N개의 자연수가 주어진다. 각 자연수의 크기는 100000를 넘지 않는다. 출력 첫 줄에 뒤집은 소수를 출력합니다. 출력순서는 입력된 순서대로 출력합니다. 입력 예시 9 32 55 62 20 250 370 200 30 100 출력 예시 23 2 73 2 3 풀이 방법 주어진 배열을 Number(s[i].toString().split("").reverse().join("") 을 이용해서 숫자들을 뒤집어 준 후 Number를 이용하여 앞에 0이 있으면 자연수로 만들어 주었다. 그 후 소수 판별을 하기위해 2, 3, 5 ,7..으로 나누어서 나머지가 0이 아닌 것들을 골라서 배열에 넣고 값을 출력하였다. 내 코드 Solution 방법 1 방법 2..