목록분류 전체보기 (231)
코딩 기록들
들어가기전, - Database : 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리하는 데이터의 집합 - DBMS : data base management system : 사용자와 db 사이에서 사용자의 요청 해석해 db에 저장된 정보를 관리할수있도록 해주는 소프트웨어 - SQL : structed query language : 관계형 db 관리 시스템에 저장된 데이터 관리 위해 설계된 프로그래밍언어 - 스키마 : db 구성하는 개체, 속성, 관계및 제약조건등에관해 전반적으로 정의한 메타데이터의 집합 RDBMS - R (relation) + DBMS = 관계형 데이터베이스 관리 시스템 - 모든 데이터를 엑셀의 형식과 유사한 2차원테이블 형식으로 표현, '속성, 값' 을 이용해 데이터를 정의, 저..
Process 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 최소 하나의 스레드를 보유하고 있으며, 별도의 주소공간(code, data, stack, heap)을 독립적으로 할당받는다. Thread 어떠한 프로그램 내에서 (=프로세스 내에서) 실행되는 흐름의 단위를 말한다. 스레드는 stack 만 따로 할당받고, 프로세스의 나머지 (code, data, heap) 영역은 스레드끼리 서로 공유한다. (->메모리 사용이 훨씬 효율적이게 된다.) 멀티 프로세스 특징 1. 각각 독립적이라 동기화 작업이 필요가 없다. 2. 개별메모리 차지로 인한 자원소모가 크다. 3. context switching 비용이 크다. (여러개의 프로세스를 번갈아가며 cpu에 올리고, 내리고 하는것) 멀티스레드 특징 ..
TCP와 UDP 모두 네트워크 계층 중 전송계층에서 사용하는 프로토콜 입니다. 전송계층은 송신자와 수신자를 연결하는 통신서비스를 제공하는 계층으로, 데이터의 전달을 담당합니다. 1. TCP : transmission control protocol - 정의 : 인터넷상에서 데이터를 메세지 형태로 보내기위해 IP와 함께 사용하는 프로토콜 ( IP가 데이터의 배달을 처리한다면 TCP는 *패킷을 추적 및 관리 ) * TCP 특징 * - 연결지향방식 ( = 패킷을 전송하기위한 논리적 경로를 배정함) - 패킷에대한 응답을 해야하기때문에 성능이 낮음 (시간지연, CPU소모) - 점대점 방식 (서버와 클라이언트는 1대1로 연결됨) - 3 -way handshaking 과정을 통해 연결을 설정 ( = 목적지와 수신지를 ..

구현하기 어려운 문제? - 알고리즘은 간단한데 코드가 너무 길어지는 문제 - 특정소수점까지 출력하는 문제 - 문자열이 입력으로 주어질때 한문자단위로 끊어서 리스트에 넣어야하는 문제(파싱) 구현시 고려해야하는 메모리 제약사항 - c / c++ 에는 제약이 많지만, 파이썬에서는 매우큰수의 연산또한 기본으로 지원한다. (다만, 파이썬에서의 실수형변수는 다른언어와 마찬가지로 유효숫자에따라 연산결과가 원하는값이 나오지않을수도 있다) 파이썬에서 리스트 크기 - 파이썬에서 여러개의 변수를 사용할떄는 리스트를 이용한다. 주의사항 : 코딩테스트의 메모리제한 데이터 개수 (리스트 길이) 메모리 사용량 1.000 약 4KB 1.000.000 약 4MB 10.000.000 약 40MB 주의할점 : 리스트를 여러개 선언했을떄,..

논문제목 : Resolution Dependent GAN Interpolation for controllable Image Synthesis Between Domains (2020) https://arxiv.org/pdf/2010.05334.pdf - 논문읽기전 알고있을것 - DA : 큰 크기로 사전학습(pre trained) -> 따라서 DB의 크기 (클래스당 이미지개수)가 적은 상황에서도 높은 정확도 보임 잘 동작하는 네트워크 A 에서 가져와서 A'으로 사용한 따라서 전이학습을 분류작업을 위해 사용할때에는, 가장 마지막레이어(B)만 갈아끼워준뒤 학습을시킴 1. 얼리기 freezing : 모델 가져올때 앞부분레이어 : 얼려서 학습되지 않도록 하고, 뒷부분레이어인 우리가 교체한 FC 레이어만 교체하여 사..
어떠한수 N 이 1이 될때까지 아래의 두 과정중 하나를 반복적으로 선택하여 수행한다 1. N에서 1을 뺀다 2. N을 K로 나눈다. (단, n이 k로 나누어떨어질때만 선택할수있다) 문제 : N과 K가 주어질때 N이 1이 될때까지 위의과정을 수행해야하는 최소횟수를 구하는 프로그램 작성 입력조건 : 첫째줄에 N과 K 가 공백으로 구분되며 각각 자연수로 주어지고, N > K 입력예시 25 5 출력예시 2 접근방법 > 최대한 많이 나눈다! n, k = map(int, input().split()) count = 0 while (n != 1): if(n % k == 0): n = n//k else: n -= 1 count += 1 print(count) (책 풀이) n, k = map(int, input().sp..
카드들이 N * M 형태로 놓여있을때, 게임의 룰에 맞게 카드를 뽑는 프로그램을 만들어보자. (여러개의 숫자카드중에서 가장높은 숫자가 쓰인 카드한장을 뽑는 게임 ) 게임의 룰 숫자가 쓰인 카드들이 N * M 형태로 놓여있다. (N=행의 개수, M=열의 개수) 먼저 뽑고자하는 카드가 포함되어있는 행을 선택한다 그다음 선택된 행에 포함된 카드들중 가장 숫자가 낮은 카드를 뽑아야함 따라서, 처음에 카드를 골라낼 행을 선택할때, 이후에 해당행에서 가장 숫자가 낮은 카드를 뽑을것을 고려하여 최종적으로 가장 높은 숫자의 카드를 뽑을수있도록 전략을 세워야 한다 입력 첫째줄에 숫자카드들이 놓인 행의개수 N과, 열의개수M이 공백을 기준으로 각각 자연수로 주어진다. 둘째줄부터 N개의 줄에걸쳐 각 카드에 적힌 숫자가 주어진..
다양한 수로 이루어진 배열 : N 숫자가 더해지는 횟수 : M 연속해서 K 번 초과해서 더해질수 없음 (단, 배열에서 서로 다른 인덱스에 해당하는 같은 숫자는 서로 다른것으로 간주) 입력조건 첫째줄에 N, M, K의 자연수가 주어지고, 각 자연수는 공백으로 구분 둘째줄에 N 개의 자연수가 주어진다 입력으로 주어지는 K는 항상 M 보다 작거나같다 출력조건 첫째줄에 큰수의 법칙에따라 더해진 답을 출력한다 입력예시 5 8 3 2 4 5 4 6 출력예시 46 파이썬 표현법 알아둘것들 A를 B로 나눴을때 몫 구하는 표현 : int(A/B) 아니면 A // B N개의 수를 공백으로 구분하여 입력받기 : data = list(map(int, input().split())) n, m, k 를 공백으로 구분하여 입력받기..