분류 전체보기443 [백준 2631번] 줄세우기 n = int(input()) data = [] dp = [1]*n for i in range(n): data.append(int(input())) for i in range(n): for j in range(i): if data[i] > data[j]: dp[i] = max(dp[i],dp[j]+1) print(n - max(dp)) 이번 문제는 임의의 순서로 세워진 번호를 번호 순서대로 배치하기 위한 최소한의 이동횟수를 구하는 문제이다. 번호를 옮기는 횟수를 최소화하기 위해서는 번호 순서대로 세워져있는 어린이들을 최대한 많이 고정시키고 나머지만 이동시켜야 한다. 즉, 가장 긴 증가하는 부분수열 LIS(Longest Increasing Subsequence)의 길이를 구하고 이를 전체 어린이 수에서 빼.. 2023. 8. 14. [Typescript] 타입 명시(Type Annotation) / 타입 추론(Type Inference) / 타입 표명(Type Assertion) 이란 ? 타입 명시(Type Annotation) 타입 명시란 변수를 선언할 때, 변수 값의 타입을 명시함으로써 변수 값의 데이터 타입을 지정하는 것을 의미한다. Annotate는 "주석을 달다" 라는 사전적인 뜻을 가지고 있다. 타입스크립트에서는 변수, 함수, 함수 반환값의 데이터 타입을 지정하기 위해 "타입 명시(Type annotation)"을 사용한다. 즉, 타입에 주석을 달아준다. 한 번 식별자를 특정 타입으로 annotated 하면 해당 타입만 사용할 수 있다. 다른 타입을 사용하게 되면 타입스크립트 컴파일러가 에러를 던진다. 1) 변수에 타입 지정하기 let a: number; //a라는 변수에는 number 타입의 값만 할당 및 재할당할 수 있다. a = "Mark"; //error a = 23; .. 2023. 8. 13. [Typescript] 타입스크립트 Type 정리 In Typescript, a 'type' is a convenient way to refer to the different properties and functions that a value has. 타입이란 값이 가지고 있는 속성(프로퍼티)이나 함수(메서드)를 추론할 수 있는 편리한 방법이다. 서론 자바스크립트의 값들은 타입에 따라 각각의 프로퍼티와 메서드를 가지고 있다. 예를 들어 위와 같이 "apple" 이라는 값은 단순히 string 문자열이라고 설명할 수도 있지만, 조금 더 상세히 설명하자면 문자열이 가지는 프로퍼티와 메서드를 가지고 있는 값(Value)라고 할 수 있다. 자바스크립트의 문자열은 .length 와 같은 프로퍼티를 가지고, .toLowerCase()나 .split() 등과 같은 .. 2023. 8. 13. 빌드(Build) / 배포(Deploy) / 컴파일(Compile) / 링크(Link) 개념 및 차이점 서버에 기능을 추가하기 위해서는 개발자가 로컬 PC에서 개발을 하고 테스트까지 진행한 뒤에 문제가 없을 경우 사용자가 사용할 수 있도록 수정된 코드를 실서버에 반영해야 합니다. 서버에 반영을 하는 것을 "배포(Deploy)"라고 하고 배포하기 위한 과정을 "빌드(Build)"라고 합니다. 컴파일(Compile) 이란 ? 인간이 이해할 수 있는 고급 언어로 작성된 소스 코드를 컴퓨터가 이해할 수 있는 기계어로 변환시키는 과정을 말하며, java의 경우 컴파일의 결과로 자바가상머신(JVM)에서 실행가능한 ".class" 파일이 생깁니다. 컴파일과 빌드와 같다고 생각하실 수 있지만, 컴파일은 빌드를 진행하는 과정의 일종의 하나인 Task 입니다. 즉, 소스코드를 컴퓨터가 이해할 수 있는 기계어로 변환하는 작업.. 2023. 8. 12. 클라이언트 사이드 렌더링(CSR) / 서버 사이드 렌더링(SSR) / 정적 사이트 생성(SSG) 비교 및 장단점 정리 Client-Side Rendering(CSR) 클라이언트 사이드 렌더링이란 초기 웹사이트 접속시 서버로부터 모든 파일을 불러와 클라이언트에서 페이지를 렌더링한 후 사용자에게 보여주는 방식이다. CSR는 React, Vue, Angular 와 같은 single-page aplication (SPA) 에서 주로 사용되는 렌더링 방식인데, 즉 하나의 index.html 파일에 자바스크립트로 각 페이지를 렌더링한다. CSR 장점 초기에 웹사이트를 렌더링 후에 페이지간의 이동이 빠르다. 새로고침이나 화면 깜빡임 등과 같은 현상이 발생하지 않기 때문에 UX에 엄청난 이점을 준다. 서버가 클라이언트 뷰(View) 단에서 처리할 일을 신경쓰지 않아도 된다. CSR 단점 유저는 번들링이 완료된 JS 파일을 모두 다운로.. 2023. 8. 12. [Next.js] Data Fetching (getStaticProps/getStaticPaths/getServerSideProps) Next.js 는 정적 사이트 생성(SSG)과 서버 사이드 렌더링(SSR) pre-rendering 웹사이트 생성을 도와주는 프레임워크이다. Next.js에서는 SSG와 SSR을 위한 데이터 패칭 기능을 제공한다. 즉, 사이트를 렌더링하기 전 어떤 데이터를 이용해서 페이지를 생성할 것인지에 대한 함수를 작성하는 기능을 말하는 것이다. ( getStaticProps와 getStaticPaths, getServerSideProps ) getStaticProps function Blog({ posts }) { return ( {posts.map((post) => ( {post.title} ))} ) } // SSG export async function getStaticProps(context) { // 외부.. 2023. 8. 12. 이전 1 ··· 37 38 39 40 41 42 43 ··· 74 다음