파이썬은 집합(고등수학에서 배우는 그 집합)을 처리하기 위한 자료형 set을 제공한다. 집합 자료형은 set()으로 선언하며, 안에 들어갈 원소들을 리스트 형태로 넘겨주면 된다. data = set([1, 4, 9, 11, 3]) print(data) # {1, 3, 4, 9, 11} 집합 자료형의 특징은 크게 두 가지가 있다. 중복값을 허용하지 않는다. 원소들 간 순서가 정해져있지 않다. 중복값을 허용하지 않기 때문에 동일한 값의 원소를 여러 개 넣더라도 집합 안에는 하나의 원소만 남게된다. data = set([1, 4, 4, 4, 9, 11, 3]) print(data) # {1, 3, 4, 9, 11} 순서를 갖지 않기 때문에 리스트처럼 인덱싱하는 것이 불가하다. data = set([1, 4, ..
전체 글
서버는 꺼지지 않아요문제 (링크) https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 나의 풀이 n = int(input()) schedule = [] for _ in range(n): schedule.append(list(map(int, input().split()))) schedule = sorted(schedule, key= lambda x: x[0]) schedule = sorted(schedule, key= lambda x: x[1]) ans = 1 end_time = schedule[0][1] for i in range(1, n): if end_time
Crontab? 크론탭은 특정 파일이 특정 시간에 정기적으로 실행될 수 있도록 도와주는 유틸이다. 매일 특정 시간에 실행시켜야 하는 파일이 있다면 크론탭을 통해 서버에 올려놓고 사용하는 식이 대부분이다. 명령어 # 크론탭 작업 목록 crontab -l # 크론탭 수정 crontab -e # 크론탭 작성 내용 삭제 crontab -r 작성 크론탭을 사용할 때는 파일이름과 해당 파일이 동작할 시간을 함께 작성해준다. 아마 초기 작성시에는 사용할 편집기를 고르게 하는데 nano든 vim이든 본인이 편한 걸로 사용해주자. * * * * * /home/mydir/someFileToExecute.sh * 은 첫 번째부터 - 분 (0~59) - 시 (0~23) - 일 (1-31) - 월 (1~12) - 요일 (0~7..
var 변수를 의미하는 variable를 줄인 것으로, 최초 선언 후 재선언과 재할당 모두 가능하다. var x = "JS"; var x = "React"; console.log(x); // React var y = "React"; y = "JS"; console.log(y); // JS const const는 상수란 뜻으로, 최초 선언 후 재선언 및 재할당이 불가능한 변수이다. const x = "JS"; x = "React"; console.log(x); // TypeError: Assignment to constant variable. 또한, 최초 선언 시 값을 입력해주지 않으면 에러가 난다. const x; x = "JS" console.log(x); // SyntaxError: Missing i..
문제 (링크) https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 나의 풀이 n = int(input()) ans = 0 cities = list(map(int, input().split())) prices = list(map(int, input().split())) min_price = 1000000000 min_price_index = -1 for i in range(n-1): if prices[i] < min_price: min..

링크드 리스트 정리 https://seongonion.tistory.com/20?category=867075 링크드 리스트의 구현 및 연산 - 파이썬(Python) 링크드 리스트의 구현 (Node, __init__, __str__) 링크드 리스트를 구현하기 위해선, 각각의 데이터와 다음 데이터에 대한 주소(레퍼런스)를 저장할 '노드' 객체가 필요하다. class Node: def __init__(self, data. seongonion.tistory.com 우선, 단방향 링크드 리스트를 클래스를 통해 간단히 구현해보자. class Node: def __init__(self, data): self.data = data self.next = None 각 노드들은 data와 next를 속성으로 가질 수 있다...
프로세스와 스레드의 차이 프로그램(Program) 특정 작업을 위해서 실행할 수 있는 파일 (코드의 묶음) 보조기억장치에 저장되어 있음 (디스크 등) 정적인 형태 →디스크에 저장되어 있는 binary파일을 프로그램이라고 보면 된다. 프로세스(Process) 운영체제로부터 메모리를 할당 받아 실행 중인 프로그램 실행되면 주기억장치에 데이터가 적재됨 (RAM) 동적인 형태 → 프로그램이 RAM에 적재되어 실행중인 상태인 것을 프로세스라고 할 수 있다. 프로세스의 구성 요소 (Process Control Block) 1) PID (Process ID) 프로세스를 식별할 수 있는 고유번호 2) Process State 해당 프로세스가 현재 어떠한 상태인지를 나타내는 정보로, Ready, Waiting/Block..
HTTPS HTTPS란? HTTP 프로토콜의 보안버전 - S(Secure) HTTP의 약점 암호화가 되지 않은 평문 통신으로, 도청이 가능하다. 통신하려는 상대를 확인하지 않는다 HTTP의 약점을 보완하기 위해선 암호화가 필요하다 🔑 암호화 알고리즘 1. 대칭키 암호화와 복호화에 동일한 키를 사용하는 것 대칭키의 장점 송신자와 수신자가 동일한 키를 가지고 있기 때문에, 암호화 - 복호화 과정이 단순하며 속도가 빠르다. 대칭키의 단점 어쨌든 송신자와 수신자 간 키 교환이 이루어져야한다. 키 교환 과정에서 키가 노출되면 암호가 무력해진다. 수신자와 송신자가 늘어날수록 그만큼 관리해야할 키가 하나 씩 증가해 관리가 어려울 수 있다. 2. 비대칭키(공개키) 암호화와 복호화에 다른 키를 사용하는 것 비대칭키의 장..