전체 글

공부와 경험의 기록!
·Algorithm (PS)
https://www.acmicpc.net/problem/7570 7570번: 줄 세우기 입력은 2 개의 줄로 이루어져 있다. 첫 줄에는 어린이 수를 나타내는 정수가 주어진다. 둘째 줄에는 처음에 줄서있는 어린이들의 번호가 차례대로 주어진다. 주어진 번호들 사이에는 공백이 하 www.acmicpc.net 가장 긴 증가하는 수열의 길이를 찾은 후 전체 길이 n에서 빼준다. n = int(input()) data = list(map(int, input().split())) count = 1 # 길이가 1 인 수열로 취급 max_len = 0 position = [0] * (n+1) for i in range(1, len(data)): position[data[i]] = i # index를 저장한다. I#ND..
우선 리눅스는 멀티유저 운영체제이다! 여러명의 유저가 사용할 수 있도록 지원한다. 따라서 사용자를 생성, 수정, 삭제할 수 있다. 리눅스의 시스템 설정 파일은 /etc 디렉토리 하위에 있다. 그리고 /etc/passwd, /etc/shadow, /etc/group, /etc/gshadow 4개의 파일에 사용자와 그룹의 정보가 저장되고 있다. 시스템에 등록된 사용자 정보 확인하기 1. /etc/passwd /etc/passwd 에는 시스템에 등록된 사용자 정보가 저장된다. 이눅스는 멀티유저 운영체제이다! 여러명의 유저가 사용할 수 있도록 지원한다. 내부를 살펴보면, user:x:1000:1000:user:/home/user:/bin/bash 과 같이 사용자 계정에 대한 등록 정보를 확인할 수 있다. : 는..
Multitasking : 동시에 실행되는 것처럼 보이지만, 사실상 CPU에서는 매 순간 하나의 작업만이 실행되고 있다. 하나의 프로그램이 끝나기 전에 다른 프로그램이 실행되는 것 Multi programming : 메모리에 여러 프로그램이 동시에 올라가 있음. 메모리 측면을 강조 Time sharing : CPU 를 좀 더 강조한 측면. 시간을 쪼개서 여러가지 프로그램을 실행한다. Multiprocess : 실행중인 프로그램을 프로세스라고 하며, 여러 프로그램이 동시에 실행된다는 의미 Multiprocessor : processor라는 것은 보통 CPU를 말한다. CPU가 여러개 있는 컴퓨터를 의미한다.
1. 운영체제의 의미 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 좁은의미로 OS는 커널을 가리킨다. (보통 커널만을 이야기하기도 한다. ) 커널은 항상 메모리에 상주한다. 넓은의미로 OS는 커널을 포함해서 주변 시스템들 , 각종 유틸리티들을 포함하는 개념이다. 2. 운영체제의 목적 하드웨어 바로 윗단에 설치되고, 소프트웨어 바로 아랫단에 설치된다. → 하드웨어를 효율적으로 관리해주는 것이 가장 중요한 역할이다. 1) 컴퓨터 시스템의 자원을 효율적으로 관리 자원이라는 것은 프로세서, 기억장치, 입출력 장치 (하드웨어 자원) 등을 효율적으로 관리하는 것이다. 주어진 자원으로 최대한의 성능을 낼 수 있도록 한다. → 효율성 효율성만 추구하다보면 특..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 연산자의 우선순위를 정하는 것을 순열 라이브러리로 구해 모든 경우를 확인해주는 brute force방법으로 풀었다. 계산할 때는 연산자 우선순위대로 순회한다. 해당 연산자를 계산하는 순서가 되었을 때, 연산을 한다. expression 에서 해당 연산자가 아니라면 피연산자 취급을 해서 스택에 쌓는다. x + y 라고 할 때 먼저 오는 x 에 해당하는 피연산자는 stack에 쌓인 것 중 맨 위에 있..
·Algorithm (PS)
https://www.acmicpc.net/problem/15666 15666번: N과 M (12) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 삼성 코딩테스트에서는 collections 라이브러리를 못쓰게 한다는 소식을 듣고 ~ n과 m을 풀어보았읍니다.. 비내림차순으로 순열을 구하는 알고리즘입니다 중복된 값을 출력하는 것을 방지하기 위해, 처음에 입력받는 숫자들을 set()으로 묶어서 중복된 숫자를 빼줍니다 import sys input = sys.stdin.readline n, m = map(int, input().split())..
1. Ethernet LAN 의 약자는 Local Area Network 이다. 그리고 LAN의 종류중 하나가 Ethernet 이다. Ethernet의 frame 구조는 다음과 같다. Link Layer 계층에서의 데이터프레임의 명칭이 frame이다. preamble destination address source address type data - IP protocol CRC - error checking frame 은 header와 데이터로 이루어져 있으며, 이 데이터에는 ip packet의 내용이 담겨져 있다. Ethernet이 사용하는 MAC protocol 은 CSMA/CD이다. Link Layer가 하는 일 중 하나가 link 에 access 하는 것이다. 여기서 link 란 네트워크 토폴로지..
·Algorithm (PS)
https://www.acmicpc.net/problem/17779 17779번: 게리맨더링 2 재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름 www.acmicpc.net 어렵다고 생각한 구현문제이다 삼성 기출문제이다 풀이방법 1 .경계선 표시하기 : 경계선에 5 라고 저장하기 2. 구역 1, 구역2, 구역 3, 구역 4의 각각 구역마다의 총인원수를 구해준 후에 구역 5는 (전체 인구수) - (구역1+구역2+구역3+구역4) 3. max값과 min값의 차이가 최소값이 되는 경우로 갱신해주기 인데 구현을 디테일하게 해주어야 한다.. 1) 예시는 맞았으나 히든케이스에서 틀린 ..
minjiwoo
MJ workspace