[알고리즘] 제코베 1-5

Now, Sophia·2021년 8월 13일
1
post-thumbnail

문제1. 배열의 삭제

다음 배열에서 400,500를 삭제하는 code를 입력하세요.

var nums =[100,200,300,400,500];

풀이:

	let nums = [100,200,300,400,500];
	nums.splice(-2,2);
	console.log(nums); // [100,200,300]
  1. 다행히 뒤에서 2개의 요소를 삭제하는 문제 확인
  2. 배열 삭제를 하는 메소드 검색 후 'splice' 당첨
  3. splice (index위치, 삭제할 요소 갯수,추가할 요소)
  4. splice에서 index위치에 음수를 넣으면 뒤에서부터 요소를 센다.
  5. '400'의 index위치는 '-2' 가 되고, 400,500 2개를 삭제해야 하기 때문에
    삭제할 요소 갯수는 '2'. 추가할 요소는 없으니 생략.

정답:

	var nums = [100,200,300,400,500];
	nums.pop();
	nums.pop();
	console.log(nums); // [100,200,300]

메소드 pop은 배열의 끝 요소부터 삭제한다.
그래서 두 번을 함으로써 500 삭제, 400 삭제가 된다.

문제2. 배열의 내장함수

< pass > 부분에 배열 내장함수를 이용하여 코드를 입력하고 다음과 같이 출력되게 하세요.

	데이터
	var arr = [200,100,300];
	// pass
	console.log(arr); // [200,100,10000,300]

풀이:

	let arr = [200,100,300];
	arr.splice(2,0,10000);
	console.log(arr); // [200,100,10000,300]
  1. 배열 요소 추가 검색 후 'splice' 당첨
  2. splice(index위치,삭제할 요소 갯수, 추가할 요소)
  3. '10000' 이라는 요소가 index[2]에 추가되어야 함으로 index위치는 '2'
  4. 삭제할 요소가 없으므로 '0', 추가할 요소는 '10000'

정답:
내 풀이와 동일!👏👏
이럴때 참 짜릿하다.

문제3. 변수의 타입

다음 출력 값으로 올바른 것은?

	var arr = [100,200,300];
	console.log(typeof(arr));

      1. undefined
      2. string
      3. number
      4. object

풀이:
4번 object
배열은 객체 데이터 타입으로써 여러가지 데이터들을 [ ] 로 묶어 한 단위로 관리하는 박스.
원시 데이터 타입이 아니면 모두 객체 데이터 타입이므로 객체를 뜻하는 object이 정답.
💡 variable-data type 참고

정답:
4번 object
4번을 제외한 undefined, string, number 는 기본 자료형.

문제4. 변수의 타입2

다음 변수 a를 typeof(a)로 넣었을 때 출력될 값과의 연결이 알맞지 않은 것은?

    1. 입력 : a=1, 출력 : number
    2. 입력 : a=2.22, 출력 : boolean
    3. 입력 : a='p', 출력 : string
    4. 입력 : a=[1,2,3], 출력 : object

풀이:
2번 출력은 'number'가 된다.
boolean은 'true', 'false'을 값으로 가지고 있다.

정답:
2번 입력 : a=2.22, 출력 : boolean
number 가 맞는 출력값. boolean에 해당하는 값은 true와 false 두가지

문제5. for문 계산

다음 코드의 출력 값으로 알맞은 것은?

	var a = 10;
	var b = 2;

	for (var i = 1; i < 5; i+=2){
		a += i;
	}
	console.log(a+b);

	1. 10
	2. 12
	3. 14
	4. 16

풀이:
4번 16

  1. for 문의 조건을 풀어보면 i 는 1로 선언이 되었고, i 는 5보다 작을 경우까지 2씩 증가한다.
  1. for 문의 실행코드는 a = a + i
  1. i 는 1인 경우, 5보다 작으니 조건식을 통과하여 10(a) = 10(a) + 1인 실행코드를 통해 a= 11
  1. i 는 한번 순환할 때마다 2씩 증가된다고 했으니 현재 1인 i 에 2를 추가하면 i 는 3이 된다.
  1. i 가 3인 경우, 5보다 작으니 조건식을 통과하여 11(a) = 11(a) + 3 인 실행코드를 통해 a = 14
  1. 3이었던 i 에 2를 추가하였더니 5가 되고, i 는 5보다 작아야하는데 값이 같으므로
    조건식을 통과하지 못한다.
  1. for문은 i 가 3인 경우까지만 코드를 실행하여 a = 14라는 값을 마지막으로,
    i 가 5인 경우에 빠져나온 것이다.
  1. 콘솔로그 a+b 출력 값으로 14+2가 되어 정답은 16

정답:
4번 16
i 값이 1부터 시작하고, 한 번 순환할 때마다 2씩 증가하기 때문에 for문은 총 두 번 순환


감사의 인사말❤️

먼저 우리 팀원분들에게 너무 감사하다.
팀원들을 이끌어주고 하나하나 놓치는 부분 없게 꼼꼼히 챙겨주시는 팀장님부터
정말 하나도 모르는 나로써 많은 질문이 있을 수 밖에 없는데
우리 팀원님들은 언제나 질문을 환영해주고 이해하기 쉽도록 설명도 잘 해주신다.
각자의 공부도 있고, 일도 있는데도 불구하고 서로 으쌰으쌰 할 수 있도록 분위기를 만들어주시고,
앞으로 나아갈 수 있도록 많은 도움 주셔서 은인같은 분들을 많이 만난 것 같다.
팀원분들 이름을 함부로 언급하는 건 아닌 거 같아 이렇게 감사의 인사를 남긴다.
펄미션투코딩 팀원분들 감사드립니다.🙇‍♀️
앞으로도 많은 은인분들을 만나겠지만 모두에게 민폐가 되지 않도록 열심히 하도록 하겠으니 잘 부탁드립니다.🙇‍♀️🙇‍♀️
물론, 내 쿵짝님도 항상 같이 옆에서 고민해주고 이해시켜주고 세심히 알려줘서 항상 고맙습니다.🙇‍♀️

모두들 덕분에 잘 성장하고 있어요 🧙‍♀️🧙‍♀️

profile
Whatever you want

0개의 댓글