2025/05 7

[알고리즘] 퇴각검색과 분기한정법

1. 퇴각검색법 Backtracking정의 : 해를 찾는 도중 해가 아니여서 막히면, 되돌아가서 다시 해를 찾는 기법, 제약 조건 만족 문제( Constraint Satisfaction Problem)에서 해를 찾기 위한 전략해를 찾기 위해 후보군에 제약 조건을 점진적으로 체크하다가, 해당 후보군이 제약 조건을 만족할 수 없다고 판단되는 즉시 backtrack, 이때 막힌 이 후보는 다시 체크하지 않도록 표기함. 바로 다음 후보로 넘어가 최적의 해를 찾는다.상태 공간 트리(State Space Tree)를 탐색하면서 제약이 맞지 않으면 해의 후보가 될만한 곳으로 바로 넘어가서 탐색.- promising(유망성) : 해당 루트가 조건에 맞는지를 검사하는 기법- pruning : 가지치기, 조건에 맞지 않으..

카테고리 없음 2025.05.30

[데이터베이스] 13주차

{ SELECT 문 }***ORDER BY집계함수 ***- 표3-5 집계 함수의 종류******- distinct : - 질의 3-15 의미잇는 열 이름 출력 > SELECT문에 SUM(saleprice) AS 총매출- 질의 3-17- 질의 3- 18 : 도서 판매 건수를 구하라 == 주문 테이블에 튜플 개수를 구하라 (COUNT(*)) ***GROUP BY ; 소계(특정 그룹에 대한 합계) -질의 3-19 : 고객별로 ~ >> 그룹바이 사용한다SQL문으로 표현 ->//사용되는 테이블 : 주문테이블SELECT custid, COUNT(*)//총 수량, SUM(saleprice) //총 판매 FROM ordersGROUP BY custid; //그룹바이로 묶은 속성은 반드시 select문에 기술되어야 한다..

카테고리 없음 2025.05.27

+@) this.과 self.

✅ 정리된 정의> **`self.`(Python)나 `this.`(Java/C++)는 클래스 내부에서 인스턴스(객체) 자신에 접근하기 위해 사용하는 키워드이며, 클래스 내의 변수나 메서드를 호출할 때 사용한다.**🔍 중요한 포인트| 내용 | 설명 | 인스턴스 자신 | `self`나 `this`는 클래스 자체가 아니라 \*\*생성된 인스턴스(객체)\*\*를 가리킴 | 인스턴스 변수 접근 | 클래스 내부에서 `self.var`, `this.var`로 변수 접근 | 인스턴스 메서드 호출 | `self.method()`, `..

카테고리 없음 2025.05.25

[알고리즘] DFS로 backtracking 구현하기 (C언어)

알고리즘 개념 : 순열(Permutation)서로 다른 n개 중에 n개를 모두 선택하는 경우의 수를 의미한다. 순서가 다르면 다른 경우의 수로 본다.예를 들어 [1, 2, 3] 이라는 배열이 있다면 서로 다른 순열의 경우의 수는 총 3!인 여섯 가지가 나온다. [1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1] 일단 구글에서 서치하다가 구글 AI가 알고리즘을 짜줌(python)class Solution:def permute(self, nums: List\[int]) -> List\[List\[int]]:result = \[]self.dfs(nums, \[], result)return result```def dfs(self, nums, path, solution): # ..

카테고리 없음 2025.05.25

[JS] 프로그래머스 코테 입문 LV.0 (분수의 덧셈 ~)

문제 설명첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 먼저 분수끼리의 덧셈을 하려면 분자가 0일때 덧셈할 수 없다. 그리고 분모가 다른 두 분수의 덧셈은 numer1/denom1 + numer2/denom2--> {(numer1*denom2) + (numer2*denom1)} / (denom1 * denom2)while( denom1, denom2 !== 0) 일때 result1 = numer1/denom1 이런식으로 했다. 근데 이렇게 하니까 결과가 출력이..

카테고리 없음 2025.05.18

[JS] 프로그래머스 코테 입문 Lv.0

아주 기초적인 연산부터 자바스크립트 코테 연습. 백준보다 프로그래머스가 자바스크립트 코테연습 환경이 더 편해보여서 프로그래머스로 연습을 해보려고 시작 1. 두 수의 합 구하기나의 풀이function solution(num1, num2) { var answer = num1 + num2; return answer;} console.log(solution(2, 3)); console.log(solution(100, 2)); 가장 표준적인 풀이const solution = (num1, num2) => num1 + num2 - 자바스크립트 코드를 쓸 때 var 보다는 const를 쓰는 것이 좋다- const 예약어는 한 번만 선언 가능하며 재선언도 불가능하다. 2. 두 수의 차 구하기문제 제시에서..

카테고리 없음 2025.05.15

[데이터베이스] 11주차

~ 외부조인과 세미조인(시험출제 많이냄)외부조인 { 내부조인(=자연조인) : 조인 조건에 만족한 튜플만 검색함 }: 내부조인에 실패한 튜플들도 조인함, 조인에 실패한 튜플의 공통되지 않는 부분을 NULL값으로 채운다. 예시(페이지 107)주문내역이 있는 고객을 보이시오 라는 질의 -> 고객 ⨝_(고객.고객번호 = 주문.주문번호) 주문, Left outer주문 내역이 없는 고객과 고객 릴레이션 세미조인 : 반만 결과릴레이션에 포함시킨다, 왼쪽 오른쪽 세미조인만 있고 닫힌쪽의 결과만 리턴한다. 그러나 풀 세미조인은 존재하지 않는다. 디비전

카테고리 없음 2025.05.13