- 문제
twoSum함수에 숫자배열과 '특정 수'를 인자로 넘기면,
더해서 '특정 수'가 나오는 index를 배열에 담아 return해 주세요.
nums: 숫자 배열
target: 두 수를 더해서 나올 수 있는 합계
return: 두 수의 index를 가진 숫자 배열
예를 들어,
nums은 [4, 9, 11, 14]
target은 13
nums[0] + nums[1] = 4 + 9 = 13 이죠?
그러면 [0, 1]이 return 되어야 합니다.
- 문제
reverse 함수에 정수인 숫자를 인자로 받습니다.
그 숫자를 뒤집어서 return해주세요.
x: 숫자
return: 뒤집어진 숫자를 반환!
예들 들어,
x: 1234
return: 4321
x: -1234
return: -4321
x: 1230
return: 321
일반적인 for문을 이용해서 반복문을 구현합니다.
const arr = [1,2,3,4];
for(var i=0; i< arr.length; i++){
console.log(i);
}
forEach는 Array에서만 사용할 수 있는 메서드입니다. forEach를 통해서 배열 요소들의 반복 작업을 수행할 수 있습니다.
forEach는 인자로 콜백함수를 등록할 수 있고, 배열의 각 요소들이 반복될 때 이 콜백함수가 호출됩니다. 콜백함수에서 배열 요소의 index와 value에 접근할 수 있습니다.
var items = ['item1', 'item2', 'item3'];
items.forEach(function(item){
console.log(item);
});
// 결과는 item1,item2,item3가 콘솔에 출력되는 걸 확인할 수 있습니다.
객체(object)를 탐색할 때 사용하는 반복문입니다. for...in문은 object의 key값에 접근할 수 있지만 value 값에 접근하는 방법은 제공되지 않습니다.
var user = {
id: 'myID',
name: 'myName',
password: 'myPassword'
}
for(var attr in user) {
console.log(attr); // id , name , password 가 출력된다.(key값)
console.log(user[attr]); // myID, myName, myPassword가 출력된다.
}
문자열 처리
String을 가공해서 사용할 일이 생길 수 있습니다. 그럴 경우엔 String 처리하는 메소드를 MDN에서 참조하면서 공부하면 좋습니다.
'a/b/c/d'.split('/'); // ['a','b','c','d'] 가 출력됩니다. /를 split 기준으로 쪼개줍니다..trim
'ab:cd'.replace(':', '!!') // 'ab!!cd'
' abcde '.tirm(); // 'abcde'
String은 ArrayLike 이기 때문에, Array 처럼 처리될 수 있다.
ArrayLike는 Array 처럼 index (a[0]) 로 접근이 가능하고, length 속성이 존재한다. 하지만 Array 객체가 아니기 때문에 prototype 은 Array 를 참조하지는 않는다.
Number()은 **문자열을 숫자로 변환하는 함수입니다.
숫자를 문자열로 변환할 때는 String() 함수를 사용합니다
- 문제
숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요.
num: 숫자
return: true or false (뒤집은 모양이 num와 똑같은지 여부)
예를 들어,
num = 123
return false
=> 뒤집은 모양이 321 이기 때문
num = 1221
return true
=> 뒤집은 모양이 1221 이기 때문
num = -121
return false
=> 뒤집은 모양이 121- 이기 때문
num = 10
return false
=> 뒤집은 모양이 01 이기 때문
참고)
There are different ways to convert number to string :
String literal -> str = "" + num + "";
String constructor -> str = String(num);
toString -> str = num.toString();
String Literal simple -> str = "" + num;
The split() method is used to split a String object into an array of strings by separating the string into substrings.
(문자열 객체를 문자열 배열로 분할하는 데 사용된다.)
Code : console.log('1000'.split(""));
Output : ["1", "0", "0", "0"]
The reverse() method is used to reverse an array in place. The first array element becomes the last and the last becomes the first.
(배열을 제자리에 되돌리는 데 사용)
Code : console.log(["1", "0", "0", "0"].reverse());
Output : ["0", "0", "0", "1"]
The join() method is used to join all elements of an array into a string.
(배열의 모든 요소를 문자열로 결합하는 데 사용)
Code : console.log(["1", "0", "0", "0"].reverse().join(""));
Output : "0001"