자료구조&알고리즘/알고리즘

[백준][JS] 1927번 - 최소 힙

문제 유형 - 자료구조 - 우선순위 큐 문제 널리 잘 알려진 자료구조 중 최소 힙이 있다. 1. 최소 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 작성하시오. 2. 배열에 자연수 x를 넣는다. 배열에서 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 프로그램은 처음에 비어있는 배열에서 시작하게 된다. 출력 입력에서 0이 주어진 횟수만큼 답을 출력한다. 만약 배열이 비어 있는 경우인데 가장 작은 값을 출력하라고 한 경우에는 0을 출력하면 된다. 예제 입력 9 0 12345678 1 2 0 0 0 0 32 예제 출력 0 1 2 12345678 0 풀이 const [N, ...ARR] = require('fs') .readFileSync(process.platform === 'linux' ? ..

React

useEffect, useCallback 차이

useEffect useEffect는 컴포넌트의 라이프사이클에 특정 동작을 연결할 때 사용된다. 컴포넌트가 렌더링된 이후에 비동기 작업을 수행하거나, 외부 API 호출, 이벤트 구독 등의 작업을 수행할 수 있도록 해준다. useEffect(callback, [deps]); useEffect의 첫 번째 매개변수로 전달되는 콜백 함수는 컴포넌트가 렌더링될 때마다 실행되거나, 특정 의존성이 변경될 때만 실행될 수 있다. 또한, useEffect의 콜백 함수는 반환 값으로 클린업(clean-up) 함수를 반환할 수 있다. 클린업 함수는 컴포넌트가 소멸될 때 실행되거나, 다음 useEffect 실행 전에 호출된다. useCallback useCallback은 콜백 함수의 메모이제이션된 버전을 반환한다. useMe..

TypeScript

[Type-Challenges] 1367 - Remove Index Signature

🫧 문제 객체 유형에서 인덱스 시그니처를 제외하는 RemoveIndexSignature를 구현하세요 type Foo = { [key: string]: any foo(): void } type A = RemoveIndexSignature // expected { foo(): void } 🛠️ 테스트 케이스 type Foo = { [key: string]: any foo(): void } type Bar = { [key: number]: any bar(): void 0: string } const foobar = Symbol('foobar') type FooBar = { [key: symbol]: any [foobar](): void } type Baz = { bar(): void baz: string } ..

카테고리 없음

React로 지도API 불러오기

카카오나 네이버 지도를 사용할 때 이런식으로 지도를 그려야 한다고 가이드에 작성이 되어있다. 하지만 React에서 지도를 작성할 때 위와 같은 가이드로 작성을 하게 되면 이렇게 밑줄이 쳐지게 된다. 에러메세지가 이렇게 뜨는 걸 확인할 수 있다. 해결방법 const { kakao } = window; 다음과 같이 window에서 kakao 객체를 불러와야지 사용할 수 있다. 이유는? JavaScript에서 전역 객체인 window를 통해 외부 라이브러리를 사용하기 때문이다. 일반적으로 React 애플리케이션에서 외부 라이브러리를 사용할 때는 npm을 통해 패키지를 설치하고 import 문을 사용하여 해당 라이브러리를 불러온다. window 객체는 전역 객체로써 브라우저 환경에서 사용되며, 외부 스크립트 파..

카테고리 없음

[Type-Challenges] 529. Absolute

🫧 문제 Implement the Absolute type. A type that take string, number or bigint. The output should be a positive number string type Test = -100; type Result = Absolute; // expected to be "100"🛠️ 테스트 케이스 type cases = [ Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, ]🎱 정답 type Absolute = `${T}` extends `-${infer U}` ? U : `${T}`💭 해설 타입 Absolute는 조건부 타입으로, 입력된 제네릭 타입 T가..

TypeScript

[Type-Challenges] 296. Permutation

🫧 문제 주어진 유니언 타입을 순열 배열로 바꾸는 Permutation 타입을 구현하세요. type perm = Permutation; // ['A', 'B', 'C'] | ['A', 'C', 'B'] | ['B', 'A', 'C'] | ['B', 'C', 'A'] | ['C', 'A', 'B'] | ['C', 'B', 'A'] 🛠️ 테스트 케이스 type cases = [ Expect, Expect, Expect, Expect, Expect, ] 🎱 정답 type Permutation = [T] extends [never] ? [] : K extends K ? [K, ...Permutation] : never 💭 해설 [T] extends [never]의 부분은 T가 never 타입인지 확인합니다. n..

HTML&CSS

[HTML] input태그의 aria-describedby과 title 차이

aria-describedby와 title은 둘 다 웹 요소에 대한 추가 정보를 제공하는 데 사용되지만, 몇 가지 차이점이 있습니다. 1. 사용목적 title: title 속성은 요소에 대한 간단한 툴팁을 제공하는 데 사용됩니다. 마우스를 해당 요소 위에 올리면 툴팁이 표시됩니다. title은 주로 비교적 간단한 정보를 제공하거나 요소에 대한 간단한 설명을 제공하는 데 사용됩니다. aria-describedby: aria-describedby 속성은 웹 요소에 대한 상세한 설명이나 오류 메시지, 추가 정보 등과 같은 복잡한 내용을 제공하는 데 사용됩니다. 주로 스크린리더를 사용하는 사용자에게 추가 정보를 전달하는 데 활용됩니다. 2. 접근성 title: title 속성의 툴팁은 일반적으로 마우스 호버에 ..

TypeScript

[Type-Challenges] 119. ReplaceAll

🫧 문제 주어진 문자열 S에서 부분 문자열 From을 찾아 모두 To로 교체하는 제네릭 ReplaceAll을 구현하세요. type replaced = ReplaceAll // expected to be 'types' 🛠️ 테스트 케이스 type cases = [ Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, ] 🎱 정답 type ReplaceAll = From extends '' ? S : S extends `${infer A}${From}${infer B}` ? `${A}${To}${ReplaceAll}` : S 💭 해설 1. 마지막 테스트 케이스로 인해 From이 ' ' 형태인지 확인 한다. 맞다면 S를 그대로 반환한다..

TypeScript

[Type-Challenges] 116. Replace

🫧 문제 문자열 S에서 From를 찾아 한 번만 To로 교체하는 Replace를 구현하세요. type replaced = Replace // expected to be 'types are awesome!' 🛠️ 테스트 케이스 type cases = [ Expect, Expect, Expect, Expect, Expect, Expect, ] 🎱 정답 type Replace = From extends '' ? S : S extends `${infer A}${From}${infer B}` ? `${A}${To}${B}` : S; 💭 해설 1. 테스트 케이스에 From 이 ' '인 경우가 있어 먼저 From 이 ' '인지 확인을 하고 맞다면 S를 반환합니다. 2. 아닌 경우에는 S가 ${infer A}${Fro..

TypeScript

[Type-Challenges] 110.Capitalize

🫧 문제 문자열의 첫 글자만 대문자로 바꾸고 나머지는 그대로 놔두는 Capitalize를 구현하세요. type capitalized = Capitalize // expected to be 'Hello world' 🛠️ 테스트 케이스 type cases = [ Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, Expect, ] 🎱 정답 type M..

놀이터주인장
'분류 전체보기' 카테고리의 글 목록 (4 Page)