🌟 = 내가 생각한 난이도있는 풀이
1. 최소직사각형 1레벨
2. 크기가 작은 부분 문자열 1레벨
3. 이상한 문자만들기 1레벨
function solution(sizes) {
let maxWidth = 0
let maxHeight = 0;
sizes.forEach((size) => {
size.sort((a, b) => a - b); // 오름차순을 해줘야 무조건 [0]에는 작은값이 [1]에는 큰값이 들어간다.
let [width, height] = size; // 배열 구조분해할당을 해서 (배열을 해체)
// size[0]->width size[1]->height 값을 집어넣고
if (maxWidth < width) maxWidth = width;
if (maxHeight < height) maxHeight = height;
})
return maxWidth * maxHeight;
}
forEach()
를 통해 반복을해준다 그리고 각 배열요소들을 오름차순해줬는데,function solution(sizes) {
let w = 0;
let h = 0;
sizes.forEach(s => {
const [a, b] = s.sort((a,b) => a-b);
if (a > h) h = a;
if (b > w) w = b;
});
return w * h;
}
function solution(sizes) {
const rotated = sizes.map(([w, h]) => w < h ? [h, w] : [w, h]);
let maxSize = [0, 0];
rotated.forEach(([w, h]) => {
if (w > maxSize[0]) maxSize[0] = w;
if (h > maxSize[1]) maxSize[1] = h;
})
return maxSize[0]*maxSize[1];
}
function solution(t, p) {
var answer = 0; // t가 "10203" n이 "15" 인 예시
for(let i = 0; i <= t.length - p.length; i++){ // i <= 3
let Num = t.substr(i, p.length); // [0],[1],[2],[3] 길이는 2
if (Number(Num) <= Number(p)) // 10, 2, 20, 3,
answer ++;
}
return answer;
}
// [0],[1],[2],[3],[4]
// 314,141,415,159,592
substr(start,length)
를 찾게됬다. 문자들의 추출을 시작하는값, 즉 i가 0부터 시작이니, 인덱스[0]값부터, p.length 길이만큼만 출력되는 것이고,Number()
를 사용했다.function solution(s) {
let answer = "";
let arr = s.split(" "); // 공백이아닌 space를 기준으로 분리한다..
// 그럼 이렇게 분리된다 "try", "hello", "world"
for(let i=0; i<arr.length; i++){ // i < 2
// j는 문자에 영향을 직접 주는게아니고, 문자의 위치값을 알아내기 위해 쓴 변수선언이다..
for(let j=0; j<arr[i].length; j++){ // i=0 -> try니까 인덱스 0,1,2 3개에 대한 j값이 반복을돌고
if(j % 2 === 0){ // 짝수번째 글씨에 대문자 홀수번째 글씨에 소문자로 변경
answer = answer + arr[i][j].toUpperCase();
}else{ // arr[0][0] => t. arr의 인덱스0번째 행의 인덱스0번째 값이라는 의미.
answer = answer + arr[i][j].toLowerCase();
}
} // 이대로 그냥 출력시에는 "TrYHeLlOWoRlD"
if(i < arr.length - 1){ // 각 단어 "try", "hello", "world" 가 끝나면 공백을붙여서
// "TrY HeLlO WoRlD" 이렇게 만들어줄건데 맨뒤에는 공백이 붙으면안되니까
// arr.length-1을 해서 "world"뒤에는 공백을 안붙여지게 만들었다.
answer = answer + " ";
}
}
return answer;
}
s.split(" ")
으로 분리해서 나눴고,