SW Academy 52

[CNU SW Academy] 13일차(22.12.19)

유찬희 TA - Git 실습(2) Branch를 사용하는 이유 1. main 브랜치를 완전하게 돌아가는 코드로 유지하기 위해 2. 불필요한 충돌을 막기 위해 3. 원활한 코드 리뷰 진행을 위해 branch : 복사본을 만드는 것 각자 branch를 만들어 그 위에 commit, 자신의 코드를 올린다. pull request & merge를 통해 합쳐주는 과정을 거침 C가 또 PUSH를 하고 pullrequest & merge를 하면 필요한, 겹치지 않는 부분만 추가된다. 커밋의 구조 commit hash : 커밋의 고유한 번호, 남긴 커밋 메시지, 변경사항이 같더라도 해시는 다르다. (누가 변경했는지, 날짜 등도 초단위로 기록됨) HEAD 현재 내가 존재하는 커밋의 위치 기록은 남기고 싶은데 이전 기록을..

SW Academy 2022.12.22

[CNU SW Academy] 12일차(22.12.16)

활동 내용을 블로그에 기록하지 못해 이제서야 올린다. 과제와 수업 때문에 비대면으로 진행하였다. 팀프로젝트 프로토타입 제작 제작한 프로토타입의 일부분이다. 자세한 프로토타입 결과는 보고서에 링크가 첨부되어있다. 김종익교수님 DB Key에는 superkey, candidate key, primary key, foreign key가 존재한다. DB 연산에 대해 알아보았다. select, project, union, set difference, cartesian product, rename 연산 등이 있다. selection은 조건에 해당하는 튜플을 찾는 연산이다. 같다. 다르다. 크다. 크거나 같다. 작다. 작거나 같다 등의 연산과 and, or, not의 연산도 가능하다. projection은 나열된 열만..

SW Academy 2022.12.18

[CNU SW Academy] 11일차(22.12.15)

어제는 시험이 두개나 있어서 공부하느라 참여를 하지 못했다. 어제 못한 분량은 주말이나 다음주에 채울 예정이다. 코딩테스트 지난번에 못풀었던 직선을 이루는 점 찾기(22.12.13)와 큐&스택(22.12.14) 문제를 풀었다. 12.13 직선을 이루는 점 찾기 n = int(input())# 좌표 개수 points = []# 입력받은 점들을 저장할 list def findPoints():# 결과를 찾는 함수 global points result = 0# 반환값을 저장할 변수 for i in range(len(points)): hm = dict()# dict 자료형 이용 line_x = 1# x의 변화량이 0인 경우 x1, y1 = points[i][0], points[i][1] for j in range..

SW Academy 2022.12.15

[CNU SW Academy] 8일차(22.12.12.)

프로그래머스 - 프론트엔드 미니 데브코스 입국심사문제 입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로 주어진다. def solution(n, times): left = min(times) right = max(times) * n answer = 0 while left = n: break if people >= n: answer = mid right = mid -1 else: left = mid + 1 return answer 이분탐색을 이용하는 문제이다. 최소 시간은 n이 1일 때 min(times)이고, 최대 시간은 max(times) * n이다. 따라서 이분 탐색에서 left를 min(times), right를 max(times) * ..

SW Academy 2022.12.12

[CNU SW Academy] 7일차(22.12.09.)

프로그래머스 - 프론트엔드 미니 데브코스 그래프(Graph) 정점과 정점 사이를 연결하는 간선으로 이루어진 비선형자료구조 Node, Edge 그래프의 특징 - 정점은 여러 개의 간선을 가질 수 있다. - 방향 그래프와 무방향 그래프로 나눌 수 있다. - 간선은 가중치를 가질 수 있다. - 사이클이 발생할 수 있다. 무방향 그래프 (A, B)와 (B, A)는 같은 간선으로 취급된다. 방향그래프 와 는 다른 간선으로 취급된다. 연결 그래프 모든 정점이 서로 이동가능한 상태인 그래프 비연결 그래프 특정 정점쌍 사이에 간선이 존재하지 않는 그래프 완전그래프 모든 정점끼리 연결된 상태인 그래프 그래프의 구현 방법 1. 인접 행렬 2. 인접 리스트 트리(Tree) 방향그래프의 일종으로 정점을 가리키는 간선이 하나밖..

SW Academy 2022.12.09

[CNU SW Academy] 6일차(22.12.08.)

프로그래머스 - 프론트엔드 미니 데브코스 스택(Stack) LIFO(Last In First Out), 바닥이 막힌 상자 push, pop, top 1. Array로 표현하기 2. LinkedList로 표현하기 JS에서 사용법 배열 - push, pop명령어 원래 지원 LinkedList - head를 top으로 지정 올바른 괄호 문제 function solution(s) { const stack = []; for (const c of s) { if (c === '(') { stack.push(c); } else { if (stack.length === 0) { return false; } stack.pop(); } } return stack.length === 0; } 큐(Queue) FIFO(Firs..

SW Academy 2022.12.08

[CNU SW Academy] 5일차(22.12.07.)

프로그래머스 - 프론트엔드 미니 데브코스 DOM(Document Object Model, 문서 객체 모델) tree 구조로 이루어짐 - 문서 노드 : document - 요소 노드 : HTML 태그 자 - 속성노드 : 태그에 정의되어 있는 속성 - 텍스트 노드 : 요소의 텍스트, 자식을 가질 수 없는 단말노드 DOM TREE 순회는 PreOrder로 이루어짐 DOM TREE의 렌더링 브라우저가 HTML을읽고 파싱하여 DOM TREE 구성 -> Stylesheet를 파싱하여 Style Rules 구성 -> Attachment : DOM TREE에 STYLE RULES를 적용하는과정 -> Render Tree 구성 -> display DOM 선택 - getElementById - getElementsByCl..

SW Academy 2022.12.07

[CNU SW Academy] 4일차(22.12.06.)

객체지향 프로그래밍 특강 - 이성호교수님 프로그램은 일종의 명령서 사람이 명령서를 작성하는 과정이 프로그래밍이다. 사람은 자연어를 사용, 컴퓨터는 기계어를 사용 -> 사람이 컴퓨터의 언어로 명령한다. 번역 고수준 언어로 작성된 프로그램이 기계어 프로그램으로 번역 기계어로 번역된 프로그램을 목적코드라고 한다. 컴파일러 : 프로그램을 번역하는 프로그램 인터프리터 : 해석을 수행하는 주체, 프로그램을 컴퓨터 대신 해석하는 프로그램 프로그래밍은 구문구조와 의미로 구성 명령형 언어 : 프로그램의 상태를 변화시키는 서술을 순차적으로 수행하여 명령을 수행 절차지형 언어 : 서술의 연속으로 구성되는 절차를 정의하고 이를 통해 명령을 수행 함수형 언어 : 입력과 출력의 매핑인 함수의 조합과 적용으로 프로그램을 구성 객체..

SW Academy 2022.12.06

[CNU SW Academy] 3일차(22.12.05.)

하석재 강사님 SW아카데미 특강 #5 (POJO와 DI #2) 객체지향전체 코드가 클래스 하나인 경우? -> 객체지향 맞음디자인패턴(best practice, 최선책) - MVC(Model-View-Controller) - 모바일/PC 동시 대응, VIEW만 바꾸면 됨 - MVVM(Model-View-ViewModel) - DI(Dependency Injection) 패턴 - 전략패턴(Strategy) - 인터페이스 기반 패턴 POJO(Plain Old Java Object)자바 객체지향의 특징 및 정신을 요약궁극적인 객체지향특정 클래스를 상속받아야 함(X) - 자바는 단일상속이라 제약 발생Thread 생성 -> Thread 클래스 상속/Runnable 인터페이스 상스프링 삼각형 POJO = DI + A..

SW Academy 2022.12.05