목록분류 전체보기 (23)
developer_kcm
1. 문제의 요구사항 파악먼저 문제를 이해하는 것이 가장 중요하다구.입력: 입력 데이터의 형식과 제한 조건을 확인하기!입력 값이 숫자 or 문자열??여러 줄인지 한 줄인지 등등..출력: 어떤 형식으로 결과를 출력해야 하나?출력 형식에 맞는지 꼭 확인하기 (예: a = 4와 같은 구체적인 형식 요구)제한 조건: 데이터 크기나 범위를 확인하기.데이터가 매우 크면 효율적인 알고리즘을 선택! 2. 코드 창의 기본 구조 활용문제 플랫폼에서는 보통 코드 창에 기본적인 입력 처리 코드가 미리 작성되어 있는데, 이를 활용해야 하는 경우가 많다.const readline = require('readline');const rl = readline.createInterface({ input: process.stdin..

1단계 : 문제의 이해알고리즘 문제를 해결할 때 문제를 이해하는 중요한 단계들을 안내하는 것입니다. 이는 문제를 올바르게 정의하고, 접근 방식을 체계적으로 세우기 위한 질문들로 구성되어 있습니다. 각 질문의 의미를 설명하겠습니다.Can I restate the problem in my own words?문제를 내 말로 다시 설명할 수 있는가?이 질문은 문제를 정확히 이해했는지를 확인하기 위한 것입니다. 문제를 자신만의 언어로 다시 설명할 수 있다면, 문제를 잘 이해한 것입니다.What are the inputs that go into the problem?이 문제를 해결하는 데 필요한 입력은 무엇인가?문제를 해결하기 위해 어떤 데이터나 정보를 입력으로 사용해야 하는지를 정의하는 단계입니다. 입력이 명확해..
크게 세 가지 옵션으로 구분1. compilerOptions2. include3. exclude{ "compilerOptions": { // 컴파일된 자바스크립트 버전 설정 (ES5, ES6 등) "target": "es6", // 모듈 시스템 설정 (CommonJS, ES Modules, esNext 등) "module": "exNext", // ECMAScript의 가장 최신 버전 // 모듈 해석에 사용할 기준 경로 지정 "baseUrl": "./", // 컴파일러가 참조할 타입 선언(d.ts)의 경로를 지정 "typeRoots": ["./node_modules/@types"], // 컴파일에서 사용할 라이브러리 지정 - "ESN..
접근 제어자(Access Modifiers)public - 어디서나 자유롭게 접근 가능, 클래스 바디에서 생략 가능protected - 나와 파생된 후손 클래스 내에서 접근 가능private - 내 클래스에서만 접근 가능class UserA { first: string; // 생략된 public protected last: string; private age: number; // private으로 접근 제어된 속성은 해당 클래스 밖에서는 age 속성을 조회하는 것도 불가능// 매개변수 자리에서 접근 제어가 사용 가능.(단, 매개변수에서는 public 생략 x) constructor( public first: string = '', protected la..
interface Cat { name: string; age: number;}const cat: Cat = { name: 'Lucy', age: 3}// 명시적 this 타입function hello(this: Cat, message: string) { console.log(`Hello ${this.name}, ${message}`);}hello.call(cat, 'You are pretty awesome!'); 오버로딩(overloading) - 다양한 인자 타입을 처리하기 위해 동일한 함수 이름을 여러번 선언하는 방법1. 타입 선언function add(a: string, b: string): string; // 문자열을 인자로 받아서 문자열을 반환function add(a: number, ..

인터페이스(Interface)- 객체의 구조를 정의하는데 사용한다. 선택적 속성 - ?읽기전용 속성 - readonly interface User { name: string age: number isValid: boolean } const eddie: User = { name: 'Eddie', age: 25, isValid: true }1.함수 타입 - 호출 시그니처(Call Signature)- 호출 시그니처인 소괄호"()"를 통해서 함수의 타입을 지정할 수 있다.- 함수가 실행되고 반환하는 데이터의 타입을 지정할 수 있다.- 함수 타입의 인터페이스를 만들면, 동일한 구조의 함수가 있을 때 그 타입을 똑같이 지정할 수 있다.(재사용성)- 매개변수의 이름이 달라고 ..
1. 타입 추론(Inference)추론 - 어떤한 판단을 근거로 삼아 다른 판단을 이끌어 냄. 1) 초기화된 변수2) 기본값이 설정된 매개 변수3) 반환 값이 있는 함수 let num = 12function add(a: number, b=2) { return a + b } 2. 타입 단언(Assertion)단언 - 주저하지 아니하고 딱 잘라 말함.as 타입 Non-null 단언 연산자 - !ex) el!.textContent = 'Hello world?!'단, 타입 단언을 남발하게되면 값이 없음에도 문법상에는 에러가 뜨지 않아 문제가 생길 수 있으니 내용을 잘 이해하고 사용해야 한다. const el = document.querySelector('body') el!.textContent = 'Hell..

summary - 17.md -01 배포할 때 해야할 것 vite.config -> base 설정 react-router basename 가져오기 (routes => index.jsx) ----- summary - 17.md -02 글로벌 내비게이션 바 스타일링 수정 내비게이션 활성 링크 react router -> className (공식 문서 보기) routes => GlobalNavBar.jsx 12~31 줄 useLocation + tabindex 설정 스크롤바를 숨기지만 스크롤을 허용하는 css 설정 (main.css) ----- summary - 17.md -03 Tailwindcss '!important' 설정 방법 특정 위치로 부드럽게 스크롤 후, 상위 요소에 초점 이동 scrollInto..