개발
-
HTTP 헤더 정보 , 캐시개발/프로그래밍 2022. 3. 21. 12:40
일반 헤더 HTTP 전송에 필요한 모든 부가정보가 헤더에 들어간다. 과거에는(RFC2616) 헤더에 이런 정보들이 포함되어 있었다. 1. 메시지 전체에 적용되는 정보, 2. 요청정보(브라우저정보), 3.응답정보, 4.바디(엔티티)정보(contentType,length) 2014년 이후 RFC7230이 등장했고 메시지에 들어가는 정보가 표현(Representation) 데이터 와 표현 헤더라 불리게 되었다. 표현이란 데이터를 “HTML이라는 표현으로 전달할지 json 표현으로 전달할지” 같은 표현을 말한다. 표현데이터는 요청 및 응답에서 전달할 실제 데이터 이며 표현 헤더는 이 표현 데이터를 해설 할수있는 정보를 제공 협상헤더 클라이언트가 원하는 표현을 요청하는것을 협상헤더라 한다. (미디어타입,문자,압충..
-
인터넷 네트워크 TCP/IP개발/프로그래밍 2022. 3. 16. 13:18
참조 : https://inf.run/hQwZ 인터넷 프로토콜IP 인터넷망에서 어떻게 친구에게 메시지를 보낼수 있을까? IP 주소가 있기 때문에 가능해진다. 내 IP 주소 : 100.100.100.1 서버 :200.200.200.2 메시지는 패킷 단위로 전달이 된다. 패킷에는 출발지 IP,서버 IP , 메시지가 들어있다. 그러나 IP로만 통신 하기에는 여러 문제들을 가지고있다. 1. 패킷 받을 사람이 없어도 전송이 된다. 2. 패킷의 순서가 바뀌거나 사라질수있다. 3. 같은 IP에서 여러 애플리케이션을 사용하면 프로그램 구분이 힘듬 TCP IP통신의 문제들을 TCP가 해결해 준다. TCP 는 transmission control protocol , 전송 제어 프로토콜이다. TCP UDP 는 인터넷 프로토..
-
[Swift] CountNonDivisible 코딜리티 코딩테스트개발/Swift 2022. 3. 5. 18:26
주어진 배열 값중 약수가 아닌 갯수를 세어 배열값으로 리턴해주는 문제이다. A[0] = 3 A[1] = 1 A[2] = 2 A[3] = 3 A[4] = 6 the function should return [2, 4, 3, 2, 0], as explained above. 3의 약수가 아닌 2,6 ← 두개이므로 2 1의 약수가 아닌 모든값 2의 약수가 아닌 3,3,6 ← 3개이므로 3 위 해답을 찾기위해 가장 단순한 방법은 반복문을 돌려 약수인지 아닌지 조건을 걸어 카운팅후 배열에 넣어 리턴하는 방법이다. public func solution(_ A : inout [Int]) -> [Int] { if(A.count == 1){return [0]} var arr = [Int]() var dict = [Int:..
-
[Swift] countFactors 약수구하기 코딜리티 코딩테스트개발/Swift 2022. 3. 5. 16:38
특정 수의 약수를 구하는 방법은 가장 쉬운 방법으로 1~ 반값 만큼 반복문을 돌린후 0으로 나누어 떨어지는값을 고르면 된다. public func solution(_ N : Int) -> Int { if(N == 1 ){return 1} var arr = [N] let center = N/2 for i in 1...center{ if(N%i == 0){ arr.append(i) } } return arr.count } 이 과정은 0(N)의 복잡도를 가지게된다. ( O(N/2) 이긴 하지만..) 이보다 빠른 방법은 O(sqrt(N))이 있다. 예를 들어 24 의 약수를 구해보자 1,2,3,4,6,8,12,24 이렇게 약수가 있다. 여기서 약수를 구할때는 0으로 나누어 떨어지는지에대한 조건으로 구하는건 같으..
-
[Swift] Dominator 코딜리티 코딩테스트개발/Swift 2022. 3. 4. 17:57
An array A consisting of N integers is given. The dominator of array A is the value that occurs in more than half of the elements of A. For example, consider array A such that A[0] = 3 A[1] = 4 A[2] = 3 A[3] = 2 A[4] = 3 A[5] = -1 A[6] = 3 A[7] = 3 The dominator of A is 3 because it occurs in 5 out of 8 elements of A (namely in those with indices 0, 2, 4, 6 and 7) and 5 is more than a half of 8...
-
[Swift] PassingCars 코딜리티 코딩테스트개발/Swift 2022. 3. 4. 13:12
A non-empty array A consisting of N integers is given. The consecutive elements of array A represent consecutive cars on a road. Array A contains only 0s and/or 1s: 0 represents a car traveling east, 1 represents a car traveling west. The goal is to count passing cars. We say that a pair of cars (P, Q), where 0 ≤ P < Q < N, is passing when P is traveling to the east and Q is traveling to the wes..
-
[Swift] FrogRiverOne 코딜리티 코딩테스트개발/Swift 2022. 3. 4. 12:25
A small frog wants to get to the other side of a river. The frog is initially located on one bank of the river (position 0) and wants to get to the opposite bank (position X+1). Leaves fall from a tree onto the surface of the river. You are given an array A consisting of N integers representing the falling leaves. A[K] represents the position where one leaf falls at time K, measured in seconds. ..
-
인스턴스 메소드/ 클래식 메소드/ 스태틱 메소드개발/Swift 2022. 3. 1. 12:29
class A { func instanceM(){ } static func staticM(){ } class func classM(){ } } 클래스에는 인스턴스 메소드 스태틱 메소드 클래스 메소드를 구현 할수있다. 이들의 차이점은 다음과 같다. A.staticM() A.classM() A.instanceM() //Fail 스태틱 클래스 메소드와 달리 인스턴스 메소드는 인스턴스화 이후에 메소드를 사용 할수있다. 스태틱 클래스 메소드는 클래스에서 직접 메소드를 호출할수있다. 그러면 스태틱 클래스 메소드는 같은걸까? 이 둘의 차이점은 오버라이딩 가능 여부에 따라 갈린다. 클래스 메소드는 오버라이딩이 가능한 메소드이다. 반면 스태틱 메소드는 불가능 하다. 즉 상속을 받을때 클래스 메소드를 사용하며 그렇지 않을..