분류 전체보기
[Python/파이썬 15665 백준] N과 M(11)
www.acmicpc.net/problem/15665 15665번: N과 M (11) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제 N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수 중에서 M개를 고른 수열 같은 수를 여러 번 골라도 된다. 입력 첫째 줄에 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 7) 둘째 줄에 N개의 수가 주어진다. 입력으로 주어지는 수는 10,000보다 작거나 같은 자연수이다. 출력 한 줄에 하나씩 문제의 조건을 만족하는 수..
[Python/파이썬 15652 백준] N과 M(4)
www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 풀이 itertools 쓴거 엄청 쉽네용 import sys from itertools import combinations_with_replacement input=sys.stdin.readline n,m=map(int,input().split()) lst=[i for i in range(1,n+1)] lst=list(combinations_with_replacement(lst,m)) for i in lst:..
[Python/파이썬 백준 1759] 암호 만들기
www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 풀이 문제 조건이 자음 최소 2개, 모음 최소 1개가 꼭 있어야하구 사전식으로 정렬 출력입니다. 시간 제한 2초라 널널했습니다. 일단 자음 모음 리스트로 나눠주고 그 다음 조합으로 했습니다. 주석 참고하세용! # 암호 만들기 # 리스트 -> 문자열 만드는게 쫌 빡셌음 import sys from itertools import combinations input=sys.stdin.readline l,c=map(int,i..
[Python/파이썬 10819 백준] 차이를 최대로
www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 풀이 조합 permutation 써서 브루트 포스 알고리즘으로 전부 다 계산해줬습니다. # 차이를 최대로 import sys from itertools import permutations input=sys.stdin.readline n=int(input()) a=list(map(int,input().split())) a_lst=list(permutations(a,n)) max_size=-sys.maxsize for i in ..
[운영체제 6] 스케줄링 알고리즘
* 배치 처리 시스템 : 자동으로 다음 응용 프로그램이 실행되게 하는 것 ( 큐 구조) 큐(Queue) : First In First Out 단점 : A 프로그램이 실행이 시간이 너무 오래걸려서, B 프로그램이 실행하는데 시간을 많이 기다려야한다. -> 단점을 극복하고자 멀티 프로그래밍 / 시분할 시스템이 나왔다. * 시분할 시스템 (다중 사용자 지원, 응답시간 최소화) - > 다중 사용자 지원을 위해 컴퓨터 응답시간을 최소화 하는 시스템 Application 1 Application 2 3 ↓ 1 2 3 1 2 1 2 2 2 * 멀티 태스킹 -> 단일 CPU,여러 응용 프로그램이 동시에 실행되는 것처럼 보이도록 하는 시스템 ex ) MP3음악을 들으며, 문서작성을 하게 되면 MP3 | 문서 | MP3 ..
[운영체제 5] 운영체제 구조 (커널모드)
CPU Protection Rings CPU도 권한모드가 있다. - 사용자 모드(user mode) -> 응용 프로그램이 사용 - 커널 모드(kernel mode) : 특권 명령어 실행과 원하는 작업 수행을 위한 자원 접근을 가능케 하는 모드 Level 0 ,1 ,2,3 링 형식으로 0~3 까지 둘러 쌓여있으며, Level 0은 커널, Level 3는 응용 프로그램 사용자 모드와 커널 모드가 있어서 함부로 응용 프로그램이 전체 컴퓨터 시스템을 해치지 못한다. 정리 -운영체제는 시스템 콜 제공 -프로그래밍 언어별로 운영체제 기능을 활용하기 위해, 시스템 콜을 기반으로 API 제공 -응용 프로그램은 운영체제 기능 필요시, 해당 API를 사용해서 프로그램 작성 -응용 프로그램이 실행되서, 운영체제 기능이 필요..
[운영체제 4] 운영체제 구조 (시스템 콜)
* 응용 프로그램, 운영체제, 컴퓨터 하드웨어(시스템 리소스) 관계 ex) 도서관 - 운영체제는 도서관 - 응용 프로그램은 시민 - 컴퓨터 하드웨어는 책 운영체제 역할 : 시민은 도서관에 원하는 책(자원) 요청 도서관은 책(자원)을 찾아서, 시민에게 빌려줌 시민이 기한이 다 되면, 도서관이 해당 책(자원)을 회수함 * 응용 프로그램이 요청하는 메모리를 허가하고 분배, CPU시간 제공, IO Devices 사용을 허가/제어 USER ↕ Application ↕ OS ↕ Hardware 운영체제는 사용자 인터페이스 제공 - Shell : 사용자가 운영체제 기능과 서비스를 조작 할 수 있도록 인터페이스를 제공하는 프로그램 쉘은 터미널 환경(CLI)와, GUI 환경 두 종류로 분류 API: (Applicatio..
[Python/파이썬 6588 백준] 골드바흐의 추측
www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰 www.acmicpc.net 문제 짝수 n n= a+b 식에서 a 와 b 둘다 소수인 경우를 출력하라 입니다. 출력 못하는 상황이 나오면 Goldbach's conjecture is wrong. 출력하고 0누르면 exit 입력 입력은 하나 또는 그 이상의 테스트 케이스로 이루어져 있다. 테스트 케이스의 개수는 100,000개를 넘지 않는다. 각 테스트 케이스는 짝수 정수 n 하나로 이루어져 있다. (6 ≤ n ≤ 1..
[운영체제 3] 시대별 흐름 및 핵심 기술 (2)
1980년대 1. 개인용 컴퓨터 시대 - > 80년대 이전 : 대형 컴퓨터를 여러명이 접속해서 사용 (UNIX) - > 80년대 : Personal Computer(PC) 2. CLI -> GUI 변화 CLI(Command Line Interface ) : 터미널 환경 GUI(Graphical User Interface) : 마우스로 누를 수 있는 일반적인 아이콘으로 이루어진 환경 1990년대 1. 응용 프로그램 시대 -> GUI 환경, 개인용 컴퓨터로 인하여 - 엑셀, 워드프로세서 - Windows OS 대중화 2. 네트워크 기술 발전 - 월드 와이드 웹(www) 인터넷 댖ㅇ화 3. 오픈소스 운동 활성화 시작 - LINUX(리눅스) 20년대 이후 1. 오픈소스 활성화 - LINUX 운영체제 - Apac..
[운영체제 2] 시대별 흐름 및 핵심 기술 (1)
1950년대 운영체제 X - 1개의 응용프로그램 실행시키기도 바쁨 - 응용프로그램이 시스템 자원을 제어 ENIAC : 첫번째 컴퓨터 1960년대 초기 프로그램 종류도 많아지고, 사용자도 많아지기 시작 * 배치 처리 시스템(batch processing system) 출현 - 여러 응용프로그램을 등록시켜 놓으면, 순차적으로 실행 - 배치 처리 시스템을 기반으로 운영체제 출현 -> ex) program 1, program 2, program 3을 등록해놓으면 1이 끝나면 2,3이 실행되는 시스템입니다. 배치 처리 시스템의 단점 1. 컴퓨터 응답시간(response time)이 오래 걸릴 수 있다. 2. 실행시간도 오래 걸릴 수 있다. 후기 시분할 시스템(Time Sharing System), 멀티 태스킹(M..