TIL 08

이론을 차례대로 공부하자니 효율이 너무 떨어지는거 같아, 백준 문제를 기준으로 풀면서 문제 푸는데 필요한 이론을 찾는 식으로 공부해보려 한다.

2577번(숫자의 개수)문제와 3052번(나머지)문제를 풀면서 필요했던 이론들

return 명령문

for ( let i = 0; i < 10; i++ ) {
	
	function numbercount (value) {
		return value == i;
	}
}
  • 배열의 각 요소를 value라고 칭하고 i 값과 같으면 return한다.

filter 메서드

for ( let i = 0; i < 10; i++ ) {
	
	function numbercount (value) {
		return value == i;
	}
	
	count = numbers.filter(numbercount);
}
  • filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환한다.
  • 위의 예시에선 numbercount 함수를 통과하는 즉, 배열의 요소가 i와 같은 값들이 모여 새로운 배열이 된다.

Array.length

for ( let i = 0; i < 10; i++ ) {
	
	function numbercount (value) {
		return value == i;
	}
	
	count = numbers.filter(numbercount);
	console.log( count.length );
}
  • length 속성은 배열의 길이를 반환한다. 반환방법은 최대 인덱스값에 +1 한 값을 반환한다.

trim() 메서드

const fs = require('fs');
const input = fs.readFileSync('dev/stdin').toString().trim().split('\n');
  • trim() 메서드는 문자열 양 끝의 공백을 제거한다. 공백이란 모든 공백문자(space, tab, NBSP 등)와 모든 개행문자(LF, CR 등)를 의미한다.

화살표 함수

let arr = numbers.map(el => el%42);

numbers.map(function(el) {
  return el%42;
});
  • 두 코드는 같은 동작을 실행한다. 화살표 함수를 사용하면 위에처럼 간결한 코드가 된다.
  • 화살표 함수는 제한이 있고, 모든 상황에서 사용할수는 없다.

Set

let set = new Set(arr);
  • Set 은 중복을 허용하지 않는 값을 모아놓은 특별한 컬렉션이다.
  • new Set(iterable) : 값을 전달받아 iterable에 복사해 새로운 셋을 만든다.
  • set.size : 셋에 몇개의 값이 있는지 세준다.

좋은 웹페이지 즐겨찾기