오늘은 제대로 이해하지 못하고 무심코 지나갔던 부분들을 짚고 넘어가 보려고 한다.
if (Number(str[i - 1]) % 2 && Number(str[i]) % 2)
// str[i]와 str[i] 앞에 있는 숫자를 2로 나눈 나머지가 같으면...
for (let i = 0; i < arr.length; i += 1) {
for (let j = 0; j < arr[i].length; j += 1) {
if (arr[i][j] === 'B') {
return [i, j];
}
}
} // 이중 for문을 돌려서 arr[0]에 있는 요소를 [j]로 arr의 길이만큼 돌고 ~ 이것을 반복해서 인덱스로 좌표를 구한다.
//위와 비슷한 케이스로 서로 다른 길이의 문장이 주어질 경우엔
for (let i = 0; i < arr.length; i ++) {
if (longWord < arr[i].length) {
longWord = arr[i].length;
}
}
for (let i = 0; i < longWord; i += 1){
for (let j = 0; j < arr.length; j += 1){
if (arr[j][i] !== undefined) {
str += arr[j][i]
}
}
}// 긴 문장을 먼저 for문 돌릴 수 있도록 해준다.
let items = [
{ name: 'Edward', value: 21 },
{ name: 'Sharpe', value: 37 },
{ name: 'And', value: 45 },
{ name: 'The', value: -12 },
{ name: 'Magnetic', value: 13 },
{ name: 'Zeros', value: 37 }
];
// value 기준으로 정렬
items.sort(function (a, b) {
if (a.value > b.value) {
return 1;
}
if (a.value < b.value) {
return -1;
}
// a must be equal to b
return 0;
});
// name 기준으로 정렬
items.sort(function(a, b) {
var nameA = a.name.toUpperCase(); // ignore upper and lowercase
var nameB = b.name.toUpperCase(); // ignore upper and lowercase
if (nameA < nameB) {
return -1;
}
if (nameA > nameB) {
return 1;
}
// 이름이 같을 경우
return 0;
});
let sum =arr[0]; // 누적될 첫번째 요소를 변수로 선언해 주고
for (let i = 1; i < arr.length; i++) {
if (sum >= arr[i]) { // 그 다음 요소부터 저장해둔 변수와 비교하여 값이 크면 false를
return false;
}
sum = sum + arr[i] //아닐 경우 계속 첫번째 요소에 누적해 주도록 구성한다.
}