Programming Language(20)
-
TypeScript - Generic 제네릭
시간 여유가 생겨서 공식 문서와 type-challenges 레포지토리를 통해 타입스크립트를 제대로 짚고 넘어가며 여기에 마저 정리해둬보려 한다. 마침 타입스크립트를 공부하다보면 여기저기, Generics, 제네릭이란 단어가 붙어있지만 제대로 이해하고 넘어가진 않았었다. Generics이란 무엇일까? Generics, 제네릭 제네릭을 보통 의 형태로 객체를 다루는 C++이나 Java등의 프로그래밍 언어 수업에서 본 적 있을 것이다. 제네릭(generic)이란 데이터의 타입(data type)을 일반화한다(generalize)는 것을 의미하며 보통은 제네릭을 통해 클래스나 메소드에서 사용할 내부 데이터 타입을 지정하고, 컴파일 단계에서 type check를 수행한다. 이런 개념이 적용된게 타입스크립트이고 ..
2023.04.14 -
[React] "npm start"오류 options.allowedHosts[0] should be a non-empty string.
Invalid options object. Dev Server has been initialized using an options object that does not match the API schema. - options.allowedHosts[0] should be a non-empty string. 첫 협업 프로젝트를 진행하면서 깃을 통해 프로젝트를 관리하다, 어느 순간부터 프론트엔드 리액트 프로젝트 폴더 경로에서 npm start 명령을 실행했을 경우, 위와 같은 메세지가 뜨기 시작했다. 가상환경을 통해 8000번 포트의 Django 서버를 실행해둔 상태이고, package.json에 "proxy" : "http://localhost:8000" 또한 작성해둔 상태이다.. 원인은 모르겠지만 일단 ..
2022.08.03 -
[백준] 2075번 : N번째 수 파이썬
시간제한 메모리제한 정답 비율 1 초 12 MB 39.455% 문제 N×N의 표에 수 N^2개 채워져 있다. 채워진 수에는 한 가지 특징이 있는데, 모든 수는 자신의 한 칸 위에 있는 수보다 크다는 것이다. 아래와 같이 표가 주어졌을 때, N번째 큰 수를 찾는 프로그램을 작성하시오. 표에 채워진 수는 모두 다르다. 12 7 9 15 5 13 8 11 19 6 21 10 26 31 16 48 14 28 35 25 52 20 32 41 49 입력 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. 출력 첫째 줄에 N번째 큰 수를 출력한다. 예제 입력 5 12 7 9 15 5 1..
2022.07.26 -
[백준] 2292번 : 벌집 C++
시간제한 메모리제한 알고리즘 분류 2 초 128 MB 수학 문제 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다 입력 첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. 출력 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다. 예제 입력 13 예제 출력 3 처음 시도한 코드 (런타임 에러 및 틀렸습니다!)..
2022.03.09 -
[알고리즘] 문자열 매칭 알고리즘 - KMP (Knuth-Morris-Pratt) Pattern matching
아래 링크 강의를 수강하고 정리하였습니다. 기초 학습 단계로 부정확한 정보가 있을 수 있습니다. https://youtu.be/yWWbLrV4PZ8 / 나동빈님의 실전 알고리즘 강좌 34강 https://www.youtube.com/watch?v=UcjK_k5PLHI / 코드없는프로그래밍님의 String 강좌 https://youtu.be/GTJr8OvyEVQ / Tushar Roy - KMP Pattern matching 문자열 매칭 알고리즘이란, 특정한 글이 있을 때 그 글안에서 주어진 문자열을 찾는 알고리즘이다. 이전까지 문자열을 찾는 경우에는 브루트포스처럼 O(nm)의 시간을 소요해 문자열을 찾았었다. 이 과정에 KMP 문자열 매칭 알고리즘, 라빈-카프 문자열 매칭 알고리즘을 도입해 매칭에 소요하..
2022.01.20 -
[C++]BOJ 10809번 : 알파벳 찾기
시간제한 메모리제한 알고리즘 분류 1 초 256 MB 구현, 문자열 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. 제한 0 ≤ S의 길이 ≤ 100 문제 해결 ..
2022.01.18