[LeetCode] 412. Fizz Buzz, Easy
·
CodingTest/LeetCode
1. 문제정수 n이 주어질 때, 크기 n의 배열의 요소로 Fizz, Buzz, FizzBuzz, 문자열 index를 저장 후 반환.index는 1부터 시작하고, index를 기준으로 3으로 나누어 떨어지면 Fizz, 5로 나누어 떨어지면 Buzz, 둘 다 나누어 떨어지면 FizzBuzz, 그 외는 index를 문자열로 저장.ex. 1은 문자열로 변경 후 저장은 i-1에 저장2. 해결/**1. 3과 5로 나뉘어 지면 FizzBuzz.2. 3으로 나뉘어 지면 Fizz.3. 5로 나뉘어 지면 Buzz.4. 해당 안되면 문자열 index.index는 1부터 시작. */function fizzBuzz(n: number): string[] { const fizzBuzz : string[] = new Array..
[LeetCode] 1672. Richest Customer Wealth, Easy
·
CodingTest/LeetCode
1. 문제행을 고객, 열을 은행이라 가정하고, 각 고객마다 은행에 있는 계좌의 수(?) 혹은 돈의 가장 큰 값을 반환해라.2. 해결function maximumWealth(accounts: number[][]): number { let max = 0; // 1. 고객 반복문 accounts.forEach((customer, index) => { // let wealth = 0; // accounts[index].forEach((bank, bIndex) => { // wealth += accounts[index][bIndex]; // }) // 2. 은행 반복 및 누산기. const wealth = acco..
[LeetCode] 1480. Running Sum of 1d Array, Easy
·
CodingTest/LeetCode
1. 문제sums 배열이 주어질 때, runnigSum[i] = sum[0] + sum[1] + ... + sum[i] 값으로 구성된 runningSum 배열을 만들어라.2. 해결function runningSum(nums: number[]): number[] { const memoizedArray = new Array(nums.length).fill(0); // 1. memoized array. // 2. 값 계속 누적해서 다시 계산할 필요 없게. nums.forEach((num, index) => { if (index === 0) memoizedArray[index] = num; else memoizedArray[ind..
[Next.js 14] 2. Data Fetching - 2
·
Skill/Next.js
2. Server Actions and MutationsServer Actions는 Server에서 실행되는 비동기 함수를 의미.Server Components, Client Componenets에서 사용될 수 있으며, 폼 제출, Mutations 처리 등을 한다.2-1. Convention비동기 함수 내부의 최상단 또는 분리된 파일 내 최상단에 "use server" 지시어로 Server Actions를 정의할 수 있다.1. Server Components// Server Componentexport default function Page() { // Server Action async function create() { 'use server' // ... } return ( ..
[Next.js 14] 2. Data Fetching - 1
·
Skill/Next.js
1. Data Fetching, Caching, and RevalidatingData Fetching은 application에서 가장 중요한 부분이다.Data Fetching을 위한 4가지 방법.Server에서 fetch 사용Server에서 third-party libraries 사용 (ex. axios)Client에서 Route Handler 사용Client에서 third-party libraries 사용 (ex. swr, react-query)1-1. Server에서 fetch 사용.Next.js에서는 Web API의 fetch를 확장해서, 각 요청마다 caching과 revalidating 설정을 할 수 있도록 제공.React Component tree가 렌더링 될 때, 동일한 API 요청에 대해선..
[LeetCode] 226. Invert Binary Tree, Easy
·
CodingTest/LeetCode
1. 문제 이진 트리가 주어질 때, 각 자식 노드들을 좌우반전 시켜서 root node를 반환하라.완전 이진 트리가 아님에 주의, 자식 노드가 1개인 경우도 고려해야 한다.2. 해결/** * Definition for a binary tree node. * class TreeNode { * val: number * left: TreeNode | null * right: TreeNode | null * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) { * this.val = (val===undefined ? 0 : val) * this.left = (left===..
[LeetCode] 2236. Root Equals Sum of Children, Easy
·
CodingTest/LeetCode
1. 문제 정확히 3개의 node로 구성된 이진 트리가 주어질 때, 왼쪽 자식과 오른쪽 자식의 합이 root의 값과 동일하면 true, 아니면 false를 반환.2. 해결/** * Definition for a binary tree node. * class TreeNode { * val: number * left: TreeNode | null * right: TreeNode | null * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefi..
[LeetCode] 2235. Add Two Integers, Easy
·
CodingTest/LeetCode
1. 문제 num1, num2가 주어질 때, 두 정수의 합을 리턴하는 함수를 작성.2. 해결function sum(num1: number, num2: number): number { return num1 + num2};단순 수학 문제.이직 준비를 위해 슬슬 풀어보자~
[Next.js 14] 1. Routing - 13
·
Skill/Next.js
14. InternationalizationNext.js는 다국어를 지원한다.14-1. 용어Locale : 언어 및 서식 설정에 대한 식별자로, 사용자의 언어와 지리적 가능성을 포함.en-US : 미국식 영어nl-NL : 네덜란드식 네덜란드어nl : 일반 네덜란드어14-2. Routing브라우저 상의 사용자 기본 언어 설정을 선택하는 것이 베스트. 언어 정보가 변경되면 Accept-Language header에 정보가 담긴다.import { match } from '@formatjs/intl-localematcher'import Negotiator from 'negotiator' let headers = { 'accept-language': 'en-US,en;q=0.5' }let languages = n..
[Next.js 14] 1. Routing - 12
·
Skill/Next.js
13. MiddlewareMiddleware는 요청이 완료되기 전에 코드를 실행시킬 수 있는 환경을 제공한다.사용자 요청을 기반으로 응답을 재작성하거나, request or response header를 수정하거나 바로 응답하는 등의 작업이 가능하다.Caching Content와 Route가 발생하기 전에 실행된다.13-1. Use Cases사용하면 좋은 경우.인증 및 인가 : Route handler or Page에 접근하기 전에 session cookies를 확인하여 사용자 신원에 대한 인증 및 인가.Server Side Redirect : Server Level에서 조건에 따라 사용자를 Redirect.Path 재생성 : A/B Test, 신규 기능 적용, legacy path 변경 등 요청 정보에..