[python] 파이썬 설치 방법 (Windows)
·
코딩 공부 기록
LangChain을 이용하기 위해... 문서를 벡터화 해야하는데 python이 노트북에 없어서 설치해보려고 한다. 1. 파이썬 설치파일 다운로드http://xn--python-he51a.org/downloads/ 빨간 네모 박스 바로 아래에 Windows, Linux/Unix, macOs, other이라고 하이퍼링크가 되어있다.본인의 OS에 맞게 선택하면 페이지가 이동된다. 나는 안정적이면서 최신인 python 3.13.3을 받았다.Windows installer (64-bit) 환경으로 다운. 2. 파이썬 설치 - Use admin privileges when installing py.exe : 설치할 때 관리자 권한 사용- Add python exe to PATH : 환경변수 자동 추가다음으로 I..
[MSSQL] DELETE vs DROP vs TRUNCATE 비교
·
코딩 공부 기록/SQL
데이터베이스 작업을 하다 보면 테이블의 데이터를 삭제해야 하는 경우가 자주 생긴다.이때 선택할 수 있는 대표적인 방법이 DROP, TRUNCATE, DELETE가 있는데, 각각의 명령어는 목적과 사용 방식이 다르다보니 무작정 사용하는건 위험할 수 있다.오늘은 이 세 가지 명령어를 비교해보고자 한다. DELETE - 조건부 삭제 기능, 가장 유연DELETE는 WHERE절을 사용해서 특정 조건에 맞는 레코드만 삭제할 수 있는 명령어이다. 특징조건을 지정할 수 있음 (WHERE)트랜잭션 처리 가능 (ROLLBACK 지원)트리거가 실행됨로그에 모든 삭제 내용이 기록됨 (비교적 느림) 장점조건부 삭제 가능 (부분 삭제)트랜잭션을 통해 롤백이 가능정확한 제어 가능 단점느릴 수 있음 (특히 많은 데이터일 때)로그 ..
프로그래머스 코딩테스트 - 영어 끝말잇기 (JAVA)
·
코딩테스트
문제 설명1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다.1번부터 번호 순서대로 한 사람씩 차례대로 단어를 말합니다.마지막 사람이 단어를 말한 다음에는 다시 1번부터 시작합니다.앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다.이전에 등장했던 단어는 사용할 수 없습니다.한 글자인 단어는 인정되지 않습니다.다음은 3명이 끝말잇기를 하는 상황을 나타냅니다.tank → kick → know → wheel → land → dream → mother → robot → tank위 끝말잇기는 다음과 같이 진행됩니다.1번 사람이 자신의 첫 번째 차례에 tank를 말합니다.2번 사람이 자신의 첫 번째 차례에 kick을 말합니다...
프로그래머스 코딩테스트 - N개의 최소공배수
·
코딩테스트
문제 설명두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요.제한 사항arr은 길이 1이상, 15이하인 배열입니다.arr의 원소는 100 이하인 자연수입니다.  입출력 예arrresult[2,6,8,14]168[1,2,3]6    내가 푼 문제 풀이최대공약수 또는 최소공배수를 구할 때 유클리드 알고리즘(호제법)을 자주 쓴다.나도 유클리드 호제법을 사용해서..
유클리드 호제법(Euclidean algorithm)
·
코딩테스트/알고리즘
유클리드 호제법이란?유클리드 호제법(Euclidean algorithm)은 유클리드 알고리즘이라고도 불리우며,두 양의 정수 혹은 자연수의 최대공약수(GCD, Greatest Common Divisor)를 구하는 효율적인 알고리즘이다.그리스 수학자 유클리드((Euclid)가 작성한 원론에 적혀있는 내용으로, 인류 최초의 알고리즘이라고 한다.   원리GCD(a,b)=GCD(b,amodb) 두 수 a와 b (a>b)의 최대공약수는 a를 b로 나눈 나머지와 b의 최대공약수와 같다.이 과정을 반복하여 나머지가0이 될 때 나누는 수가 두 수의 최대공약수이다.  큰 수인 a를 b로 나눈 나머지 r을 구한다.a를 b로 대체하고, b를 r로 대체한다.나머지 r이 0이 될 때까지 반복한다.나머지가 0이 되었을 때, 나누는..
프로그래머스 코딩테스트 - 구명보트 (java)
·
코딩테스트
문제 설명무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다.예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다.구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다.사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작성해주세요.제한사..
프로그래머스 코딩테스트 연습 - 다음 큰 숫자(java)
·
코딩테스트
1. 문제 상황자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다.조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다.조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다.조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다.예를 들어서 78(1001110)의 다음 큰 숫자는 83(1010011)입니다.자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요. [제한 사항]n은 1,000,000 이하의 자연수 입니다.  2. 입출력 예nresult78831523   3. 문제 풀이 (mine...)import java.lang.Integer;class Solution..
프로그래머스 코딩테스트 연습 - 올바른 괄호 (스택/큐 java)
·
코딩테스트
| 문제 설명괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어- "()()" 또는 "(())()" 는 올바른 괄호입니다.- ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다.'(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요.[제한사항]문자열 s의 길이 : 100,000 이하의 자연수문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다.  | 입출력 예시sanswer"()()"true"(())()"true")()("false"(()("false  | 풀이 1 (내가 ..
[MSSQL] JOIN의 종류 (논리적, 물리적)
·
코딩 공부 기록/SQL
조인의 정의와 논리적 조인(INNER, OUTER 등), 물리적 조인(Nested Loop Join, Merge Join 등) 에 대해 자세히 알아보자.  조인이란?관계가 있는 두 개 이상의 테이블을 주어진 조건으로 결합하여 하나의 결과 집합으로 출력하는 기능.-- 기본 구문SELECT * FROM 테이블명 AJOIN 테이블명 BON 조인 조건   논리적 조인 (INNER, OUTER, CROSS, APPLY) 1. INNER JOIN 교집합되는 (조인 조건을 모두 만족하는) 데이터만 결과로 출력하는 조인. SELECT e.Name, d.Dept_no, d.Dept_NameFROM Employee e INNER JOIN Department dON e.Dept_No = d.Dept_No A와 B에서 교집합..
[MSSQL] 테이블 복제 복사 방법
·
코딩 공부 기록/SQL
작업을 하다보면 테이블을 복사해야하는 경우가 종종 있다. 테이블만 복사, 테이블+데이터 복사, A데이블 -> B테이블 데이터만 복사.  1. 테이블 + 데이터복사SELECT * INTO 복사 테이블명FROM 원본 테이블명  2.  테이블만 복사SELECT *INTO 복사 테이블명FROM 원본 테이블명WHERE 1=2 3. A테이블 -> B테이블 데이터 복사A라는 테이블이 있고 B라는 테이블이 있는데, A의 데이터를 B로 옮기고 싶을 때 사용한다.INSERTINTO 복사 테이블명(B)SELECT * FROM 원본 테이블명(A)