Computer Science 72

[코드트리 챌린지] 릴레이 문제 복습

실력진단 학습내용 릴레이 문제 풀면서 학습했습니다 문자 삼각형 출력하기 2 https://www.codetree.ai/training-field/home/relay/problems/print-char-triangle-2/description n = int(input()) num = 65 arr = [[' ' for _ in range(n)] for _ in range (n)] for y in range((n//2), -1, -1): for x in range(y, n-y): arr[x][y] = chr(num) num +=1 if num>90: num = 65 for i in range(n): # 세로 크기 for j in range(n): # 가로 크기 print(arr[i][j], end=' ') p..

최대공약수 최소공배수 알고리즘 (유클리드 호제법)

최대공약수 ➡️유클리드 호제: 2 개의 자연수 a, b(a > b)에 대해서 a를 b로 나눈 나머지가 r일 때, a와 b의 최대공약수는 b와 r의 최대공약수와 같다 두 수를 입력으로 받고 작은 수가 0이 될때 까지 나누기 def gcd(a, b): while (b != 0): r = a % b a = b b = r return a 최소공배수 두 수 a와 b의 최소공배수는 a와 b의 곱을 a와 b의 최대공약수를 나눈 것과 같다. def lcm(a, b): return (a * b) / gcd(a, b) def gcd(a, b): while (b != 0): r = a % b a = b b = r return a

[코드트리 챌린지] 완전탐색

실력진단 학습내용 완전탐색 모이자https://www.codetree.ai/missions/5/problems/gather?&utm_source=clipboard&utm_medium=text import sys INT_MAX = sys.maxsize #가독성을 위해 n=int(input()) arr=list(map(int, input().split())) ans=INT_MAX for i in range(n): sum_val=0 for j in range(n): sum_val+=arr[j]*abs(i-j) ans=min(ans,sum_val) print(ans) 괄호 쌍 만들어주기 3 https://www.codetree.ai/missions/5/problems/pair-parentheses-3?&utm_..

[코드트리 챌린지] 객체 정렬, 시뮬레이션(배열-리스트, dx-dy technique)

실력진단 학습내용 객체 정렬 키를 기준으로 정렬 lambda x: x*2 (익명함수) students.sort(key=lambda x: x.kor) # 국어 점수 기준 오름차순 정렬 students.sort(key=lambda x: -x.kor) # 국어 점수 기준 내림차순 정렬 https://www.codetree.ai/missions/5/problems/sort-by-height?&utm_source=clipboard&utm_medium=text class User: def __init__(self, name, height, weight): self.name=name self.height=height self.weight=weight n=int(input()) users=[] for _ in rang..

[코드트리 챌린지] 정렬

실력진단 2차원 배열 문제를 시간내에 풀지 못함. 학습내용 정렬 오름내림차순 정렬 lst.sort(), lst.sort(reverse=True), arr=sorted(lst) 문자열 정렬 list로 먼저 변환 "".join()함수 이용 단어 정렬 lst=[] for _ in range(n): lst.append(input()) #list comprehension 활용 lst=[input() for _ in range(n)] 객체 tuple unpacking student1=(90,80,100) kor1,eng1,math1=student1 print(~~~) class #클래스 선언 class info: def __init__(self,code,point,time): #생성자 self.code=code s..

JPEG 압축원리 / JPEG는 lossless한 포맷인가?

색공간 변경( RGB to YCbCr) Y는 밝기 성분, CbCr은 색차성분을 의미함(B-Y, R-Y) → 인간의 눈은 색차보다 밝기 에 더 민감함 RGB→YCbCr 변환공식 (압축✖) 각각 0~255 사이의 값 (밝기정보만 받아들이는 흑백TV, RGB는 빛→ 다 밝기 성분을 가지고 있음) 호환성문제, (컬러는 이미지 3개가 필요)대역폭문제 (크로마)서브샘플링(subsampling) 인간이 덜 민감한 색차를 눈이 인식하지 못하는 범위내에서 적당히 제거 서브샘플링 전략은 보통 J:a:b의 비율로 표현 (J: 픽셀블럭의 너비 보통 4, a: 첫번째 행에서 추출한 샘플 개수, b: 두번째 행에서 추출된 샘플개수) 주로4:2:0 sampling을 많이함 → 8×8블록화 DCT(discrete cosine tra..

[머신러닝] 논리회귀 실습( 이진논리회귀, 다항논리회귀 )

이진논리회귀 실습 1. 데이터다운받기 import os os.environ['KAGGLE_USERNAME'] = 'username' # username os.environ['KAGGLE_KEY'] = 'key' # key !kaggle datasets download -d heptapod/titanic !unzip titanic.zip 2. 필요한 패키지 임포트하기 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.optimizers import Adam, SGD import numpy as np import pandas as pd import matplot..

[머신러닝] 논리회귀 ( Logistic regression ) (이진논리회귀, 다항논리회귀)

논리 회귀 (Logistic regression) 입력값과 범주 사이의 관계를 구하는 것 선형회귀로 풀기 힘든 문제→Logistic function(=Sigmoid function)을 사용 가설과 손실함수 논리 회귀에서는 시그모이드 함수에 선형 회귀 식을 넣어줌 가설함수 : 손실함수 : 확률 분포 그래프의 차이를 비교할 때는 Crossentropy 라는 함수를 사용하게 되는데요. 간단하게 그래프로 개념을 이해하면, 임의의 입력값에 대해 우리가 원하는 확률 분포 그래프를 만들도록 학습시키는 손실 함수입니다. Keras에서 이진 논리 회귀의 경우 binary_crossentropy 손실 함수를 사용 다항 논리 회귀 (Multinomial logistic regression) 여러개의 클래스로 나눠지는 논리회..

[Git] git 기초, github

git basic git init : git 생성 git config --global user.name "NAME" git config --global user.email "EMAIL" : 사용자 정보 입력 git status : 현재 상태 git add -A : 모든 파일 스테이징하기 git commit -m "커밋내용" : 커밋하기 git log : 커밋 로그를 볼 수 있음 돌아가기 위험한 reset git reset [가고싶은 시점의 일련번호 앞에 6자리] --hard : 그 후 로그들은 아예 삭제 revert git revert [취소할 시점의 일련번호 앞에 6자리] : 후에 :wq를 입력함, 취소한게 로그에서 없어지지 않음 Branch git branch [브랜치명] : 새로운 branch 생성..