// 로어케이스와 어퍼케이스의 알파뱃이 같이 들어있는 알파뱃중 가장 큰 아스키코드를 가지고있는 것
//WeTestCodErs 이와같은 배열일경우 T가 리턴된다.
const bigString = (string) => {
let bigString = 0;
for (let i = 0; i < string.length; i++) {
let matchUpperCase = string.match(new RegExp(string[i].toUpperCase()));
let matchLowwerCase = string.match(new RegExp(string[i].toLowerCase()));
if (matchUpperCase && matchLowwerCase) {
if (string[i].charCodeAt() <= 96 && string[i].charCodeAt() > bigString) {
bigString = string[i];
}
}
}
return bigString === 0 ? "NO" : bigString;
};
console.log(bigString("WeTestCodErs"));
const { invert } = require("./invert");
// 서로 합이 같은 숫자끼리의 합중 제일 큰값
let a = [53, 71, 18, 90];
// 5+3=8, 7+1=8, 1+8=9, 9+0=9
//자기 자신끼리의 합이 같은 index끼리 합친다.
// 53+71= 124
// 18+90=108
// 반환값은 124이다.
const pareSumMAx = (A) => {
let sumAs = [];
let eachSum = [];
let samSums = [];
let temporaryArray = [];
let Sums = -1;
for (let i = 0; i < a.length; i++) {
eachSum = A[i]
.toString()
.split("")
.map((item) => parseInt(item));
eachSum = eachSum.reduce((acc, cur) => acc + cur, 0);
sumAs.push(eachSum);
}
for (let i = 0; i < sumAs.length; i++) {
if (samSums.indexOf(sumAs[i]) === -1) {
samSums.push(sumAs[i]);
}
}
for (let i = 0; i < samSums.length; i++) {
for (let a = 0; a < sumAs.length; a++) {
if (samSums[i] === sumAs[a]) {
temporaryArray.push(A[a]);
}
}
if (temporaryArray.length > 1) {
let sum = temporaryArray.reduce((acc, cur) => acc + cur, 0);
if (sum > Sums) Sums = sum;
}
temporaryArray = [];
}
console.log(Sums);
};
pareSumMAx(a);
기능구현에 치중한 코드들이다 코드들을 좀더 깔끔하고 아름답고 빠르게 하는방법은 아직모른다
클래스101에 우연히 서류합격이 되었고 코딩테스트까지 갔지만 역시나 준비가 되어있지 않아 결국 마지막 문제는 못풀었다(2번째문제)이 경험을 발판삼아..좀더 발전해야겠다..