study

함수일련의 과정을 문(statement)으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것.함수는 값이며, 식별자인 함수 이름을 사용할 수 있다. 함수의 구성 요소매개 변수(parameter) : 함수 내부로 입력을 전달받는 변수인수(argument) : 함수 호출시 입력되는 수반환값(return value) : 출력되는 값동작 과정함수 정의(function definition)을 통해 생성함수 호출 : 인수를 매개변수를 통해 함수에 전달하면서 함수의 실행을 명시적으로 지시코드 블록의 문이 일괄적으로 실행반환 값(실행 결과)를 반환// 함수 정의funcfion add(x, y) { // 함수 이름 : add , 매개 변수 : x, y return x + y; // 반환값}// 함수 호..
원시 값과 객체의 비교값 변수에 할당시 확보된 메모리 공간에는? 다른 변수에 할당하면?원시 타입(Primitive type)변경 불가능한 값(Immutable value)실제 값이 저장됨원본의 값이 복사되어 전달 ⇒ 값에 의한 전달(pass by value)객체 타입(Object / Reference type)변경 가능한 값(Mutable value)참조 값이 저장됨참조 값이 복사되어 전달 ⇒ 참조에 의한 전달(pass by reference)원시 값변경 불가능한 값읽기 전용 값으로서 변경할 수 없음 ⇒ 데이터의 신뢰성 보장불변성변수값 변경(=원시값 재할당) → 새 메모리 공간 확보 → 재할당한 값 저장 → 변수가 참조하던 메모리 공간의 주소 변경재할당 이외에 변수 값을 변경할 수 있는 방법은 없음문자열..
문제 설명랜덤으로 서로 다른 k개의 수를 저장한 배열을 만드려고 합니다. 적절한 방법이 떠오르지 않기 때문에 일정한 범위 내에서 무작위로 수를 뽑은 후, 지금까지 나온적이 없는 수이면 배열 맨 뒤에 추가하는 방식으로 만들기로 합니다.이미 어떤 수가 무작위로 주어질지 알고 있다고 가정하고, 실제 만들어질 길이 k의 배열을 예상해봅시다.정수 배열 arr가 주어집니다. 문제에서의 무작위의 수는 arr에 저장된 순서대로 주어질 예정이라고 했을 때, 완성될 배열을 return 하는 solution 함수를 완성해 주세요.단, 완성될 배열의 길이가 k보다 작으면 나머지 값을 전부 -1로 채워서 return 합니다.제한사항1 ≤ arr의 길이 ≤ 100,0000 ≤ arr의 원소 ≤ 100,0001 ≤ k ≤ 1,00..
문제 설명정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다.제한사항1 ≤ l ≤ r ≤ 1,000,000입출력 예 l r result5555[5, 50, 55, 500, 505, 550, 555]1020[-1]입출력 예 설명입출력 예 #15 이상 555 이하의 0과 5로만 이루어진 정수는 작은 수부터 5, 50, 55, 500, 505, 550, 555가 있습니다. 따라서 [5, 50, 55, 500, 505, 550, 555]를 return 합니다.입출력 예 #210 이상 20 이하이면서 0과 5로..
🚨 발생한 문제와 상황게시글 좋아요 구현중 발생한 문제.const { data: likedId } = useQuery({ queryKey: ['liked', id, loginUser], queryFn: async () => { // like 테이블에서 feedID, 로그인한 userId와 일치하는 문서 있는지 확인 // ! boolean이니까 기본적으로 문서는 하나뿐이다 // 문서가 있으면 true, 없으면 false. const q = query( collection(db, 'like'), where('feedId', '==', id), where('userId', '==', loginUser) ) ..
문제 설명정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e, k] 꼴입니다.각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 k보다 크면서 가장 작은 arr[i]를 찾습니다.각 쿼리의 순서에 맞게 답을 저장한 배열을 반환하는 solution 함수를 완성해 주세요.단, 특정 쿼리의 답이 존재하지 않으면 -1을 저장합니다.제한사항1 ≤ arr의 길이 ≤ 1,0000 ≤ arr의 원소 ≤ 1,000,0001 ≤ queries의 길이 ≤ 1,0000 ≤ s ≤ e 0 ≤ k ≤ 1,000,000입출력 예arr queries result[0, 1, 2, 4, 3][[0, 4, 2],[0, 3, 2],[0, 2, 2]..
여러 sns를 보면 작성한 게시글이나 댓글이 '방금 전', '2분 전', '4시간 전'과 같이 현재 시간과 작성 시간을 비교한 내용으로 표시가 되어있다. 오늘은 이렇게 현재 시간을 기준으로 작성일자를 표시하는 방법을 정리해보려고 한다.  먼저 날짜를 구하는 로직을 작성해보면 이렇다. // 현재 날짜를 구한다.// 작성한 날짜를 구한다. // 현재 날짜에서 작성한 날짜를 빼준다. // 뺀 결과값이 어느 범위에 포함되느냐에 따라 결과값을 리턴한다. 이제 현재 날짜와 작성한 날짜의 차이를 구해보자. Javascript의 Date 객체는 날짜 정보를 밀리초로 저장한다. 따라서 연산도 초단위로 해주어야 한다. 나중에 차이 값을 1000으로 나누어줄것이기때문에 함수를 선언하고,  일반적인 기준으로 초, 분, 시, ..
문제 설명정수 배열 arr가 주어집니다. arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면 2로 나누고, 50보다 작은 홀수라면 2를 곱하고 다시 1을 더합니다.이러한 작업을 x번 반복한 결과인 배열을 arr(x)라고 표현했을 때, arr(x) = arr(x + 1)인 x가 항상 존재합니다. 이러한 x 중 가장 작은 값을 return 하는 solution 함수를 완성해 주세요.단, 두 배열에 대한 "="는 두 배열의 크기가 서로 같으며, 같은 인덱스의 원소가 각각 서로 같음을 의미합니다.제한사항1 ≤ arr의 길이 ≤ 1,000,0001 ≤ arr의 원소의 값 ≤ 100입출력 예arrresult[1, 2, 3, 100, 99, 98]5입출력 예 설명입출력 예 #1위 작업을 반복하면 다음과 같이..
🚨 발생한 문제와 상황header.tsx 컴포넌트에서 유저의 로그인 상태를 파악해 유저 정보를 로컬스토리지에 저장하고, 해당 값을 JSON.parse()로 가져오는 도중 에러가 발생했다. 아래는 문제가 발생한 부분이다. // header.tsxconst userCheck = () => { onAuthStateChanged(auth, async (user) => { if (user) { const uid = user.uid const q = query(collection(db, 'user'), where('uid', '==', uid)) const querySnapshot = await getDocs(q) const data = queryS..
· study/git
이번에 처음으로 Next.js 프로젝트 세팅하면서 husky를 다뤄보았다. 이번에 하면서 최신 자료들을 못찾아서 좀 어려웠어서... 미래의 나와 혹시 나처럼 헤메고 있을 누군가를 위해서 세팅 과정을 적어둘것이다. 나는 yarn create next app으로 미리 Next.js 프로젝트를 생성해두었다. TypeScript, ESLint, Tailwind CSS를 생성하면서 함께 설치했다. 그래서 Next.js 프로젝트를 설치하는건 따로 작성하지 않겠다. 사용된 버전들 { "dependencies": { "next": "14.2.2", "react": "^18", "react-dom": "^18" }, "devDependencies": { "@types/node": "^20", "@types/react":..
해리Harry
'study' 카테고리의 글 목록 (3 Page)