분류 전체보기 174

[TypeScript] Enum

Enum 타입은 굉장히 많은 언어에서 존재하는 타입입니다. 다른 언어를 아시는 분들은 이미 알고 계실 테지만 JavaScript에는 Enum 타입이 존재하지 않습니다. 이 기능을 활성화해 주는 게 TypeScript입니다. Enum Enum 타입은 숫자 또는 문자열의 집합에 대한 열거형 값을 정의할 수 있는 타입입니다. Enum은 관련된 상수 값의 집합을 정의하는데 유용하며, 코드를 더 명확하고 읽기 쉽게 만들어줍니다. 예를 들어, 요일을 나타내는 Enum은 다음과 같이 정의할 수 있습니다. enum DayOfWeek { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } 이렇게 정의된 DayOfWeek Enum은 각각의 멤버가 0부터 6까..

Backend/TypeScript 2023.11.03

[Baekjoon] 1021번 회전하는 큐 (Java)

https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 회전하는 큐 문제 Java로 풀이하겠습니다. 이 문제는 큐에서 원소를 뽑아내는 연산을 최소화하기 위해 어떻게 큐의 상태를 조작해야 하는지를 찾는 문제로 보입니다. 다음과 같은 알고리즘으로 문제를 해결할 수 있습니다. 큐의 첫 번째 원소를 뽑아내는 연산을 수행합니다. 원하는 위치에 도달할 때까지 큐를 왼쪽으로 이동하며 연산을 수행합니다. 이때, 왼쪽 이동 연산 횟수가 원하는 위치에 도달하기 위한..

[TypeScript] Type과 Interface

사용자 정의 형식을 만들기 위한 도구 Type과 Interface에 대해 알아보겠습니다. Type 새로운 타입을 정의할 때 사용됩니다. 기존에 존재하는 타입들을 조합하거나 별칭을 지어주는 데 사용할 수 있습니다. string, null, number에 대한 타입을 정의할 수 있습니다. 오직 male 또는 female 중 하나의 값만 가질 수 있도록 문자열 리터럴 유니온 타입으로도 정의가 가능합니다. 이렇게 지정한 타입은 아래처럼 사용할 수 있습니다. 지정해 둔 string 값이 아니면 오류가 나타나는 것도 확인할 수 있습니다. object도 type을 쓰면 선언할 수 있습니다. 예를 들어 idoltype을 정의해 보겠습니다. object타입에 string과 number가 존재하도록 선언해 줄 수 있습니다..

Backend/TypeScript 2023.11.01

[TypeScript] Typescript 기본 타입

TypeScript의 기본타입에 대하여 알아보겠습니다. JavaScript에 존재하는 타입 JavaScript에서는 string 값을 정의한다면 아래와 같이 선언하면 끝이다. let helloText= = 'Hello'; 하지만 TypeScript에서는 우리가 변수명 옆에다가 colon을 넣고 원하는 타입을 입력할 수 있습니다. let helloText: string = 'Hello'; 이렇게 입력하고 나면 helloText라는 변수에는 string 타입만 입력할 수 있습니다. 만약 다른 타입의 값을 입력하면 에러가 나타나는 것을 볼 수 있습니다. 이처럼 TypeScript에서는 type을 지정할 수 있고 명시된 type 외에 다른 type은 저장할 수 없습니다. JavaScript에서의 7개 type을..

Backend/TypeScript 2023.10.31

[Baekjoon] 1026번 보물 (Java)

https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 보물이라는 문제 자바로 풀이하겠습니다. 주어진 문제는 두 배열 A와 B를 이용하여 S를 정의하고, S의 값을 최소로 만들기 위해 A배열의 순서를 재배열하는 것입니다. N의 크기가 비교적 작기 때문에 간단한 정렬 알고리즘을 사용하여 해결할 수 있습니다. 다음과 같이 풀이하였습니다. import java.io.BufferedReader; import java.io.IOException; imp..

[TypeScript] TypeScript를 사용해야하는 이유

TypeScript는 JavaScript의 상위집합으로, 정적 타입을 지원하는 프로그래밍언어입니다. JavaScript에 몇 가지 기능을 추가하여 개발자들이 코드를 더 잘 관리하고 유지보수 할 수 있도록 도와줍니다. TypeScript를 사용해야 하는 이유에 대해 알아보겠습니다. JavaScript는 dynamically typed 언어 JavaScript는 dynamically typed 언어입니다. 이는 변수의 타입을 선언할 필요가 없고, 실행 중에 타입이 자동으로 결정되는 것을 의미합니다. 우리가 맨날 작성하는 코드나 메서드에 대해서 항상 기억을 가지고 있는 것은 힘든 일입니다. 예제를 보면서 분석해 보겠습니다. function add(num1, num2) { return num1 + num2; }..

Backend/TypeScript 2023.10.28

[TypeScript] Mac 환경설정

typescript 환경 설정해 보겠습니다. 먼저 아래의 링크에 접속해 주세요. https://nodejs.org/en Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 위와 같이 환경에 따라 다운로드할 수 있는 버튼을 확인할 수 있습니다. LTS(Long Time Support) 버전 LTS 버전은 장기적인 안정성을 보장하기 위해 선택되는 버전입니다. 일반적으로 안정적이며 장기적인 지원을 받을 수 있습니다. 대규모 엔터프라이즈 애플리케이션을 개발하거나 안정성을 우선시하는 경우에는 이 버전을 선택하는 것이 좋습니다. Current(최신) 버전 Current 버전은 가장 최신의 기능과 개선 사..

Backend/TypeScript 2023.10.28

[MySQL] MySQL 버전 확인

MySQL 버전을 확인하는 방법에는 몇 가지 방법이 있습니다. MySQL 콘솔에서 확인 먼저 MySQL 서버에 로그인합니다. mysql -u [유저이름] -p 여기서 '[유저이름]'은 권한을 가진 MySQL 사용자 이름입니다. MySQL에 로그인했으면 다음 SQL쿼리를 실행하면 버전을 확인할 수 있습니다. SELECT VERSION(); Workbench에서 MySQL 버전 확인 Workbench에서도 SQL 쿼리를 실행하여 버전을 확인할 수도 있습니다. 다른 방법으로는 도구 상단의 "MySQLWorkbench" 메뉴에서 "About"를 선택하여 확인하는 방법도 있습니다. 이러한 방법으로 MySQL 버전을 확인할 수 있습니다.

Data/MySQL 2023.10.28

[Programmers] Level.1 체육복 (Java)

https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 체육복이라는 문제 Java로 풀이하겠습니다. 이 문제는 그리디 알고리즘을 사용하여 풀 수 있습니다. 그리디 알고리즘(Greedy Algorithm)은 매 순간마다 가장 좋은 선택을 하는 알고리즘입니다. 다시는 되돌아갈 수 없는 결정을 순간마다 내리는 것이 특징이에요. 이런 선택들이 모여 전체적으로 최적인 해를 찾아내는 것을 목표로 합니다. 문제를 해결하기 위해서는 여벌 체육복이 있는 학생과 도난당..

[Programmers] Level.1 가장 가까운 같은 글자 (Java)

https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 가장 가까운 같은 글자 Java로 문제 풀이하겠습니다. 이 문제는 문자열을 순회하면서 각 문자의 인덱스를 기록하고, 각 문자에 대해 가장 가까운 동일한 문자의 인덱스를 찾아야 합니다. 저는 다음과 같이 풀이하였습니다. import java.util.Arrays; import java.util.Map; import java.util.HashMap; class Solution { public int..