분류 전체보기 669

3-1 회문 문자열(x)[배열비교는 참조끼리의 비교라 false를 return함]

결론: 배열의 비교는 원시타입인 문자열로 바꿔줘서 비교해야 한다. ex) arr.join("") 이건 되고 function solution(s) { const copy = [...s].join("").toUpperCase(); let answer = [...copy].reverse().join("") == copy ? "YES" : "NO"; //변경내용 부분. 문자열끼리의 비교 return answer; } let str = "goooG"; console.log(solution(str)); 이건 왜 안될까? function solution(s) { const copy = [...s].join("").toUpperCase(); let answer = [...copy].reverse() == [...cop..

2-5 등수 구하기[배열은 참조타입 | reduce, map은 각 요소에 return문 반환]

배열은 참조타입이다. 스프레드를 통한 새로운 배열로 복사.(참조x) 기존 배열은 바뀌지 않은 모습을 확인할 수 있다. function solution(arr) { let copy = [...arr].sort(); return [copy, arr]; } let arr = [87, 89, 92, 100, 76]; console.log(solution(arr)); 기존의 배열은 참조타입이여서 새롭게 배열을 변수에 복사한 후, 그 변수에 메서드를 적용해줘도 기존 배열에 까지 영향을 미침. function solution(arr) { let copy = arr; copy.sort(); return [copy, arr]; } let arr = [87, 89, 92, 100, 76]; console.log(solut..

1-17 중복단어제거(△)

Array 인스턴스의 indexOf() 메서드는 배열에서 주어진 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고, 찾을 수 없는 경우 -1을 반환합니다. (배열의 요소든, 문자열의 요소든 동일 효과. 왜냐하면 조회만하는 메소드니까) function solution(s) { let answer = ""; s.map((x) => { if (answer.indexOf(x) === -1) answer += x + " "; }); return answer; } let str = ["good", "time", "good", "time", "student"]; console.log(solution(str)); 수정 - 문자열을 구분을 위해 push를 통한 배열의 형태가 낫다. - answer를 출력하기 때문에 map..

1-16 중복문자제거(×)

function solution(s) { let answer; onlyOneArr = [...new Set(s)]; answer = onlyOneArr.join(""); return answer; } console.log(solution("ksekkset")); 답은 나왔지만 Set 함수 사용은 아래의 문제를 야기한다. 제시하신 코드는 중복 문자를 제거하는 목적을 달성하지만, 중복된 문자를 제거하고 출력할 때 원래 문자열의 순서를 유지하지 않습니다. Set 객체는 중복을 제거하지만, 입력된 문자열에서 문자의 최초 출현 위치를 기반으로 순서를 재정렬하지는 않습니다. 수정 indexOf로 글자의 존재유무를 파악한 뒤, -1(즉, 처음 본 글자라면) 새롭게 answer에 추가. function solution..

1-14 가장 긴 문자열(△)

문자열은 배열로 간주해서 인덱스를 쓸 수 있는걸로 아는데 배열에서는 되는데 문자열에서는 안되는게 있다. 어떻게 구분할까? 문자열의 불변성을 헤치지 않았다면 문자열의 메소드 기능은 다 사용 가능하다. 즉, 불변성을 헤치는 메소드는 배열에서만 사용가능 원본 문자열은 직접 수정할 수 없다는 특징이 있습니다. 문자열은 자바스크립트에서 불변(immutable)이기 때문에, 한 번 생성된 문자열의 내용을 직접 변경할 수 없습니다. 만약 문자열을 수정해야 한다면, 수정된 내용을 반영한 새로운 문자열을 생성해야 합니다. 반면에, 배열은 가변(mutable)이므로, 원본 배열 자체를 직접 수정할 수 있습니다. 그래서 문자열을 바꿀일이 있으면 문자열에서 배열로 변경 한 뒤, 수정해서 다시 문자열로 돌려 사용하는 패턴을 자..

질문6 px, em, rem 의 차이에 대해 설명해주세요 /vw, vh에 대해 설명해주세요

-면접대답- 개발에서 px, em, rem은 모두 크기 단위이지만, 각각 다른 방식으로 크기를 측정합니다. px는 화면상의 고정된 점을 나타내며, 해상도 변화에 따라 유연성이 부족합니다. em은 상위 요소의 글꼴 크기에 기반한 상대 크기 단위로, 중첩에 따라 복잡성이 증가할 수 있습니다. 예를 들어, 상위 요소의 글꼴 크기가 16px일 때, 2em은 32px과 같습니다. 반면, rem은 요소의 글꼴 크기를 기준으로 하여, 웹 페이지 전체에서 일관된 크기 조정을 가능하게 합니다. 예를 들어, 의 글꼴 크기가 16px이면, 1rem도 16px입니다. px (픽셀) px은 픽셀을 의미하며, 스크린 상에서의 한 점을 나타냅니다. 이는 고정된 크기 단위로, 웹 페이지의 요소 크기를 명확하게 지정하는 데 사용됩니다..

📋CS/기초질문 2024.04.09

[...객체] 와 Object.value(객체)의 차이 그리고 Object.entries()

[...객체] || Object.value(객체) 방식 둘다 객체나 배열의 요소를 추출하고 사용하는 방법 중 하나입니다. 그러나 두 방법은 사용하는 상황과 목적에 따라 약간의 차이가 있습니다. 1. [...객체] : 객체의 key와 value값 모두를 받아와서 배열이나, 객체에 저장 2. Object.value(객체) : 객체의 value값만 받아와서 배열이나, 객체에 저장 3.Object.entries(객체) : 객체의 key와 value값을 세트로 각각 받아와서 각 배열로 저장후, 다시 배열로 감싼다. 스프레드 연산자 (...) 스프레드 연산자는 배열이나 객체의 모든 요소를 개별 요소로 "펼쳐서" 사용할 수 있게 해줍니다. 이를 통해 배열이나 객체를 쉽게 복사하거나, 함수의 인자로 전달하거나, 배열을..