
문제 91 : 반평균 등수 한 반에 30명인 학생, 총 7개의 반 점수가 '국어, 영어, 수학, 사회, 과학' 순서로 있는 다중 리스트를 랜덤 한 값으로 만들어주시고 아래 값을 모두 출력하세요. 반 점수 모두가 담긴 전교 점수 다중 리스트를 만들어주세요. 반 평균을 구하세요. 반 1등 점수를 구하세요. 전교 평균을 구하세요. (출력 형식은 상관없습니다.) //아래 코드는 힌트입니다. let student_score = []; let class_score = []; let total_score = []; for (let i=0; i a + b); s_average = s_sum / 5; c_average.push(s_average); if (일등 < s_average){ 일등 = s_average; } }..

문제81 : 지뢰찾기 지뢰를 찾는 문제입니다. 다음 그림처럼 깃발 주위에는 지뢰가 사방으로 있습니다. 깃발의 위치를 입력받아 지뢰와 함께 출력 해주는 프로그램을 만드세요. 아래 Case 외 예외 사항은 고려하지 않습니다. (예를 들어 깃발이 붙어 있을 경우는 고려하지 않습니다.) 실력이 되시는 분들은 깃발이 붙어있을 상황까지 고려해 주세요. **데이터** let ****flag = []; //지뢰 없이 깃발만 있는 리스트 let minesweeper = []; //지뢰를 찾은 리스트 let count = 0; console.log(flag); console.log(minesweeper); **입력** 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 //"0 1 0..

문제71 : 깊이 우선 탐색 깊이 우선 탐색이란 목표한 노드를 찾기 위해 가장 우선순위가 높은 노드의 자식으로 깊이 들어갔다가 목표 노드가 존재하지 않으면 처음 방문한 노드와 연결된 다른 노드부터 그 자식 노드로 파고드는 검색 방법을 말합니다. 다음과 같이 리스트 형태로 노드들의 연결 관계가 주어진다고 할 때 깊이 우선 탐색으로 이 노드들을 탐색했을 때의 순서를 공백으로 구분하여 출력하세요. **데이터** graph = {'E': ['D', 'A'], 'F': ['D'], 'A': ['E', 'C', 'B'], 'B': ['A'], 'C': ['A'], 'D': ['E','F']} **출력** E D F A C B 풀이 const graph = { 'A': ['E', 'C', 'B'], 'B': ['A'..

문제61 : 문자열 압축하기 문자열을 입력받고 연속되는 문자열을 압축해서 표현하고 싶습니다. **입력** aaabbbbcdddd **출력** a3b4c1d4 풀이 1. let str = prompt('문자를 입력하세요.'); let new_str = [...new Set(str)].join(''); let result =''; for (i = 0; i < new_str.length; i++){ let count = 0; for (j = 0; j < str.length; j++){ if (new_str[i] === str[j]) { count++ if (j === str.length-1) { result += new_str[i] + count; } } else { result += new_str[i] + ..

문제51 : merge sort를 만들어보자 병합정렬(merge sort)은 대표적인 정렬 알고리즘 중 하나로 다음과 같이 동작합니다. 리스트의 길이가 0 또는 1이면 이미 정렬된 것으로 본다. 그렇지 않은 경우에는 정렬되지 않은 리스트를 절반으로 잘라 비슷한 크기의 두 부분 리스트로 나눈다. 각 부분 리스트를 재귀적으로 합병 정렬을 이용해 정렬한다. 두 부분 리스트를 다시 하나의 정렬된 리스트로 합병한다. 출처 : 위키피디아 다음 코드의 빈칸을 채워 병합정렬을 완성해 봅시다. function mergeSort(arr){ if (arr.length parseInt(n, 10)); console.log(mergeSort(array)); 풀이 function mergeSort(arr){ if (arr.len..

문제41 : 소수판별 숫자가 주어지면 소수인지 아닌지 판별하는 프로그램을 작성해주세요. 소수이면 YES로, 소수가 아니면 NO로 출력해주세요. (소수 : 1과 자기 자신만으로 나누어떨어지는 1보다 큰 양의 정수) 풀이 1. 1부터 n까지로 나눠떨어지는지 확인 const num= prompt('숫자를 입력해주세요.'); let count = 0; for (i = 1; i { return parseInt(n, 10); }); console.log(bubble(items)); 풀이 function bubble(arr) { let result = arr.slice(); // 원본 배열 복사 for (let i = 0; i < result.length - 1; i++) { for (let j = 0; j < re..

문제31 : 자바스크립트 자료형의 복잡도 다음 배열 내장함수의 시간 복잡도가 O(1)이 아닌 것을 모두 고르시오. arr[i] arr.push(5) arr.slice() arr.pop() arr.includes(5) 풀이 3) arr.slice() 5) arr.includes(5) 문제32 : 문자열 만들기 취업 준비생인 혜림이는 자기소개서를 쓰고 있습니다. 열심히 자기소개서를 작성하던 도중 혜림이는 자기가 지금까지 단어를 얼마나 적었는지 궁금하게 됩니다. 혜림이를 위해 문자열을 입력받으면 단어의 갯수를 출력하는 프로그램을 작성해 주세요. **입출력** 입력 : 안녕하세요. 저는 제주대학교 컴퓨터공학전공 혜림입니다. 출력 : 5 풀이 const str = prompt("문자를 입력하세요.").split(..

문제21 : set은 어떻게 만드나요? 다음 중 set을 만드는 방법으로 올바른 것을 모두 고르시오. var x = {1, 2, 3, 5, 6, 7}; var x = {}; var x = new Set('javascript'); var x = new Set(range(5)); var x = new Set(); 풀이 3) var x = new Set('javascript'); 5) var x = new Set(); 문제22 : 배수인지 확인하기 다음 중 변수 i가 6의 배수인지 확인하는 방법으로 올바른 것은? i / 6 == 0 i % 6 == 0 i & 6 == 0 i | 6 == 0 i // 6 == 0 풀이 2) i % 6 == 0 i를 6으로 나눈 나머지가 0이면 배수이므로 문제23 : OX문제 c..