자바스크립트 오답노트
6.다음의 결과값을 작성하시오
{
let num = [56, 4, 3, 65, 78];
let min = 9999;
for(let i=0; i<10; i++){
if(min > num[i]){
min = num[i];
}
}
console.log(min)
}
정답 : 3
해당 코드는 배열 num에서 가장 작은 값을 찾아서 min 변수에 할당하고, 마지막으로 min 값을 출력하는 코드입니다.
반복문 내부에서 if문을 사용하여 현재 min 값과 num[i] 값을 비교합니다.
만약 num[i] 값이 min 값보다 작으면, min 변수의 값을 num[i] 값으로 갱신합니다.
i 값을 1 증가시킵니다. 돌아가서 다시 반복하면 정답은 3이 나옵니다.
8.다음의 결과값을 작성하시오
{
let num = [1,2,3,4,5];
let sum = 1;
function func(arr){
for(let i=0; i<arr.length; i++) {
sum += arr[i];
}
for(let i=0; i<arr.length; i++){
if(arr[i] % 2 == 0) sum -= arr[i];
}
return sum;
}
console.log(func(num));
}
// 정답 : 10
해당 코드는 함수 func 내에서 배열 num의 원소를 누적하여 계산합니다. 구체적으로 다음과 같은 작업을 수행합니다.
num 배열을 정의합니다. 배열의 원소는 1부터 5까지의 정수입니다.
sum 변수를 0으로 초기화합니다.
func 함수를 정의합니다. 함수는 arr 매개변수를 받아들입니다.
for 반복문을 이용하여 arr 배열의 모든 원소를 순회하며, sum 변수에 각 원소를 더해줍니다.
두 번째 for 반복문을 이용하여 arr 배열에서 짝수인 원소를 찾아 sum 변수에서 빼줍니다.
sum 변수를 반환합니다.
func 함수에 num 배열을 전달하여 함수를 호출합니다.
함수의 반환값인 sum 변수를 console.log 함수를 이용하여 출력합니다.
따라서, 위 코드를 실행하면 배열 [1,2,3,4,5]에서 짝수인 원소들을 뺀 결과값인 10이 출력됩니다.
9.다음의 결과값을 작성하시오
{
let num = ["0","1","2","3","4","5","6","7","8","9"];
let sum = 100;
for(let i=0; i<num.length; i++){
num[i] = i+1;
}
for(let i=0; i<num.length; i++){
if(i % 3 == 1){
sum -= num[i];
}
}
console.log(sum)
}
// 정답: 85
코드의 첫 번째 줄에서 num 변수에는 문자열 형태의 숫자가 저장되어 있습니다. 이를 실제 숫자로 변환하기 위해 첫 번째 for 반복문에서 num 배열의 각 원소를 i+1로 대체합니다.
그 다음 for 반복문에서는 num 배열의 각 원소를 3으로 나눴을 때 나머지가 1인 원소를 찾아 sum 변수에서 빼줍니다. sum 변수의 초기값은 100으로 설정되어 있습니다.
따라서, 코드를 실행하면 num 배열의 원소들이 1에서 10까지의 정수로 대체된 후, 3 % 3 == 0, 4 % 3 == 1, 5 % 3 == 2, 6 % 3 == 0, 7 % 3 == 1, 8 % 3 == 2, 9 % 3 == 0 이므로, num 배열의 2, 5, 8번째 원소들이 sum 변수에서 빼지게 됩니다. 그 결과 sum 변수의 값은 85가 되어 출력됩니다.
10.다음의 결과값을 작성하시오
{
let arr = [1,2,3,4,5];
let temp = [1,2,4,6,8];
let idx = 0;
let flag = true;
for(let i=0; i<arr.length; i++){
flag = false;
if(arr[i] == temp[i]){
flag = true;
}
if(!flag){
temp[idx] = arr[i];
console.log(temp[idx]);
}
}
}
// 정답 : 3 4 5
해당 코드는 arr 배열과 temp 배열을 비교하면서 다른 값이 있는 경우 temp 배열의 해당 인덱스를 arr 배열과 같은 값으로 바꾸는 로직입니다. 그래서 temp 배열에는 [1, 2, 3, 4, 5]와 같은 값이 들어가게 됩니다.
하지만 flag 변수의 초기값이 true이므로, 첫 번째 if문이 true인 경우에도 flag 변수는 true를 유지합니다. 따라서 !flag인 경우에만 temp 배열에 arr 배열의 값을 대입하게 됩니다. 따라서 arr 배열과 temp 배열이 같은 값인 경우 flag 변수가 true를 유지하므로, temp 배열에 대입하지 않고 다음 인덱스를 탐색하게 됩니다.
따라서 temp 배열에는 arr 배열과 다른 값인 3 4 5가 들어가게 됩니다.
13.다음의 결과값을 작성하시오
{
let x = 1;
console.log( !(x>0) );
console.log( x>0 || x<4 );
console.log( x<<2 );
console.log( x&2 );
console.log( x%3 );
}
// 정답 : false
true
4
0
1
!(x>0)는 x가 0보다 크다는 조건을 부정한 것으로, x가 0 이하인 경우 true를 반환합니다. 현재 x는 1이므로 0보다 크므로 false를 반환합니다.
x>0 || x<4는 x가 0보다 크거나, x가 4보다 작은 경우 true를 반환합니다. 현재 x는 1이므로 0보다 크고 4보다 작기 때문에 true를 반환합니다.
x<<2는 x를 2비트 왼쪽으로 시프트한 값을 반환합니다. 2진수로 1은 0001이므로 2비트 왼쪽 시프트하면 0100 즉 4가 됩니다.
x&2는 x와 2를 비트 AND 연산한 결과를 반환합니다. 2진수로 1은 0001이고, 2는 0010이므로 비트 AND를 수행하면 0000이 됩니다. 따라서 결과값은 0입니다.
x%3는 x를 3으로 나눈 나머지를 반환합니다. 1%3은 1이므로 결과값은 1입니다.
17.다음의 결과값을 작성하시오
{
let a=1, b=1, num;
for(let i=0; i<6; i++){
num = a + b;
a = b;
b = num;
}
console.log(num)
}
피보나치 수열은 첫째항과 둘째항이 1이고, 세 번째 항부터는 앞의 두 항을 더한 값을 다음 항으로 하는 수열입니다. 즉, 1, 1, 2, 3, 5, 8, 13, 21, ...과 같은 수열입니다.
해당 코드에서는 for 루프를 이용하여 피보나치 수열의 7번째 항까지의 합을 구합니다. a와 b는 피보나치 수열의 각 항을 저장하는 변수이며, num은 a와 b의 합입니다. for 루프에서는 a와 b를 업데이트하면서, num을 새로 계산합니다. 따라서 for 루프가 끝나면 num은 피보나치 수열의 7번째 항인 21이 됩니다.
정보처리 기능사 오답노트
2. 다음이 설명하는 용어를 작성하시오.
이것은 네트워로 연결된 두 호스트 사이에서 연결할 수 있는지 점검하는 진단도구이다. 이 명령을 실행하면 ICMP Echo 반향 패킷을 이용하여 원격 IP 주소에 송신하고 ICMP 응답을 기다린다.
정답 : PING
3. 다음이 설명하는 용어를 작성하시오.
Window 10의 pro 버전에서 지원하는 기능으로 128bit 키의 CBC 모드에서 AES 암호화 알고리즘을 이용하여 이동식 디스크와 시스템 드라이브 암호화를 지원한다.
정답: 비트로커
04. 다음 보기에서 화이트 박스 테스트가 아닌 기법을 모두 고르시오.
기본 검사, 한계값(경계값)분석 테스트, 데이터 흐름 검사, 조건 테스트, 비교 테스트, 제어 흐름 테스트, 분기 테스트
정답: BCNF
06. 다음에서 설명하는 용어를 작성하시오.
UNIX의 구조 중의 하나인 Shell은 운영체제의 (____)와 사용자 사이에서 인터페이스 역할을 한다. 사용자가 처음 로그인 했을 경우 (____)가 최초로 사용자에게 할당해 주는 프로그램이다.
정답: 커널
08. 다음이 설명하는 용어를 작성하시오.
응용 프로그램 간의 통신에 대한 제어 구조를 제공하기 위해, 응용 프로그램 간의 접속을 연결, 유지, 종료시켜주는 역할을 수행하는 계층은 무엇인지 작성하시오.
정답: 세션
09. 다음이 설명하는 용어를 작성하시오.
릴레이션에 존재하는 후보키들 중에서 특별히 선정된 키의 기본키가 선택되고 남은 후보기를 무엇이라고 하는지 작성하시오.
정답: 대체키
10. 다음이 설명하는 용어를 작성하시오.
파일 탐색기를 실행하려고 할 때 사용하는 윈도우의 단축키를 작성하시오.
정답: Win + k