본문 바로가기

분류 전체보기

(239)
[03.28] 서브네팅, DHCP, DHCP 실습 DHCP DHCP란 동적으로 호스트를 설정하는 규약이다. 네트워크 안에 컴퓨터에 자동으로 네임 서버 주소, IP주소, 게이트웨이 주소를 할당해주는 것을 의미하고, 해당 클라이언트에게 일정 기간 임대를 하는 동적 주소 할당 프로토콜이다. PC의 수가 많거나 PC 자체 변동사항이 많은 경우 IP 설정이 자동으로 되기 때문에 효율적으로 사용 가능하고, IP를 자동으로 할당해주기 때문에 IP 충돌을 막을 수 있다. 하지만, DHCP 서버에 의존하기 때문에 서버가 다운되면 ip 할당이 제대로 이루어지지 않는다. 실습
[03.27] 네트워크 통신구조, 사설IP 범위, 라우팅(static), ARP, 패킷 트레이서 시스코 패킷 트레이서 실습 실습
[03.26] OSI 7계층, TCP/IP, IPv4, 클래스, 서브넷 OSI 7계층OSI 7계층이란 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것이다. 전송 계층종단장비에서 동작중인 응용 계층 사이에 세그먼트라는 데이터 묶음을 전달하는 역할ex) PC에서 웹 서버를 접속하면 HTTP라는 응용 계층 프로토콜이 동작한다. 네트워크 계층 프로토콜인 IP가 PC에서 웹 서버까지 패킷을 전달하면, IP 패킷 내부에 있던 전송 계층 프로토콜인 TCP가 내부의 데이터를 HTTP라는 응용 계층 프로토콜에게 전달한다. 세션 계층종단장비 사이 세션의 시작, 종료 및 관리 절차 등을 정의NetBIOS, TCP 세션 관리절차 등이 있다.세션 계층 이상에서 송수신하는 데이터의 단위를 메세지라고 함 표현 계층상위 계층 프로토콜인 응용 계층에 대해 데이터 표현 방식의 변환, 암호화 등의 서비..
[Python] set 함수 (중복제거) #list에 중복된 값이 있으면 true, 없으면 false 반환 def has_duplicates(1st): return len(1st) != len(set(1st)) x = [1,2,3,4] y = [3,3,3,3] has_duplicates(x) # false has_duplicates(y) # true 코딩테스트 문제에서 중복된 요소가 있는지 확인할 때 요긴하게 사용할 수 있다.
[Python] 순열과 조합 (permutations & combinations) 순열이란 서로 다른 n개의 원소에서 r개를 중복없이 순서를 고려하여 선택 혹은 나열하는 것을 의미한다.파이썬에서는 itertools를 이용하면 순열 내장함수인 permutations를 사용할 수 있다. 하나의 리스트에서 r개의 원소를 선택하여 나열하는 방법과, 모든 원소를 순서를 고려하여 나열하는 방법 2가지가 있다. 하나의 리스트에서 r개의 원소를 선택하여 나열하는 방법len() 함수를 사용하면 개수까지 구할 수 있다. 다음의 코드는 N개의 원소 중 2개의 원소를 선택하는 경우다. 확인해보자.import itertoolsA = list(map(int, input().split()))nPr = list(itertools.permutations(A, 2))print(nPr)print(len(nPr)) 1 ..
[Python] 대소문자 변환 함수 4가지 1. upper() 함수 upper() 함수는 영문자의 모든 문자들을 대문자로 바꾸는 함수이다. data = "Hello World" print(data) print(data.upper()) Hello World HELLO WORLD 2. lower() 함수 lower() 함수는 영문자의 모든 문자들을 소문자로 바꾸는 함수이다. data = "Hello World" print(data) print(data.lower()) Hello World hello world 3. capitalize() 함수 capitalize() 함수는 영문자의 문자열 첫 글자는 대문자로 변환하고, 나머지 문자열의 글자는 모두 소문자로 변환하는 함수이다. data = "HEllo worlD" print(data) print(dat..
[Python] join 함수 join 함수의 모양은 다음과 같다. ".join(리스트) '구분자'.join(리스트) 1. ".join(리스트) ['a', 'b', 'c'] 이런 리스트가 있다고 하자. 이를 "abc"의 문자열로 합쳐서 반환해주고 싶다면 ".join(리스트)를 이용하면 된다. 2.'구분자'.join(리스트) 마찬가지로 ['a', 'b', 'c'] 이런 리스트가 있다고 하자. 이 때, "a_b_c"와 같은 형태로 문자열을 반환하고 싶다면 '_'.join(['a', 'b', 'c']) 이렇게 써주면 된다.
[Algorithm] Shortest Path (다익스트라, 플로이드 워셜 알고리즘) 다익스트라 알고리즘 다익스트라 최단 경로 알고리즘은 그래프에서 여러 개의 노드가 있을 떄, 특정한 노드에서 출발하여 다른 노드로 가는 각각의 최단 경로를 구해주는 알고리즘이다. 다익스트라 최단 경로 알고리즘은 '음의 간선'이 없을 때 정상적으로 동작한다. 알고리즘의 원리는 다음과 같다. 출발 노드를 설정한다. 최단 거리 테이블을 초기화한다. 방문하지 않은 노드 중에서 최단 거리가 가장 짧은 노드를 선택한다. 해당 노드를 거쳐 다른 노드로 가는 비용을 계산하여 최단 거리 테이블을 갱신한다. 위 과정에서 3.과 4.번을 반복한다. 다익스트라 알고리즘을 구현하는 방법은 2가지이다. 구현하기 쉽지만 느리게 동작하는 코드 구현하기에 조금 더 까다롭지만 빠르게 동작하는 코드 코딩테스트를 준비하는 사람이라면 방법 2..