본문 바로가기

전체 글

(165)
23881 알고리즘 수업 - 선택 정렬 1 https://www.acmicpc.net/problem/23881 23881번: 알고리즘 수업 - 선택 정렬 1 첫째 줄에 배열 A의 크기 N(5 ≤ N ≤ 10,000), 교환 횟수 K(1 ≤ K ≤ N)가 주어진다. 다음 줄에 서로 다른 배열 A의 원소 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 109) www.acmicpc.net import sys n, k = map(int,sys.stdin.readline().split()) arr = list(map(int, sys.stdin.readline().split())) count = 0 answer = -1 def selection(arr): global count, answer for i in range(n-1, 0, -1): m..
부팅과 종료 stud2222@com-B70EV-AP5VBGE:~$ ps -ef | more UID PID PPID C STIME TTY TIME CMD root 1 0 0 08:19 ? 00:00:09 /sbin/init splash /sbin/init = /lib/systemd/systemd , symbolic link init process : /etc/init, /etc/init.d, /etc/rc?.d 디렉터리 들의 관리정보 통해서 순차적으로 필요한 프로세스 생성 사용자가 접속할 장치마다 접속을 받는 전담프로세스가 생성되도록 함. 사용자로부터 접속 요청 -> /bin/login 프로세스 생성 후 처리 login process -> get ID,Passwd -> 검증 -> /etc/passwd 파일 지정 프로세..
ProgTools gcc -o executable source-list -o : 실행 파일 이름 명시, 디폴트 a.out gcc -c reverse.c : object 모듈 작성 실행 파일 생성 gcc test.c module.c mv a.out test 직접 실행파일명 지정 gcc -o test test.c module.c 단계별 컴파일1 gcc -c test.c module.c -다중 모듈 프로그램의 부분 컴파일 : 컴파일 작업의 속도 개선 ex) bingo = bingo.o + hidden.o + check.o + bingo.h 전부 컴파일 및 링킹 : gcc -o bingo bingo.c ........... etc * gcc -c => 오브젝트 파일 생성 .c (assembling) => gcc -o => 실행파..
사용자 정보 관리 adduser : UID, GID 중복되지 않게 자동 부여 addgroup : GID 중복되지 않게 자동 부여 UID : 사용자가 로그인할 때 사용한 계정의 UID EUID : 현재 명령을 수행하는 주체의 UID - 실행 파일에 setUid 설정되어 있는 경우 : 해당 실행 파일을 실행한 프로세스의 UID는 사용자 계정의 UID ㄴㄴ 실행 파일 소유자의 UID가 EUID 처음에는 UID = EUID, su 명령으로 계정 전환 후에 UID != EUID who : 사용자 로그인 정보 확인 w : 현재 시스템 사용하는 사용자의 정보, 작업 정보 출력 last : 시스템 로그인, 로그아웃한 정보 출력 stud2222@com-B70EV-AP5VBGE:~$ whoami stud2222 stud2222@com-B7..
Overwrite script 명령어 : overwrite source dir newname 인수 갯수 오류 시(3개 미만) 사용법 출력 후 종료 출력 : "usage~" , 종료코드1 source 파일이 존재하지 않으면 오류메시지 출력 후 종료 dir 디렉토리 존재하지 않으면 오류메세지 출력 후 종료 대상파일이 일반파일이 아니면 생략 대상 파일이 쓰기 금지이면 쓰기모드 추가 후 덮어쓰기 성공적으로 종료 시 종료코드 0 #! /bin/bash if (( $# < 3 )); then echo "Usage : Overwrite source dir newname" exit 1 //오류 코드 1 fi if [ ! -f $1 ]; then echo "$1 is not a file" exit 2 fi if [ ! -d $2 ]; then ech..
DFS(Depth First Search) - 인접 행렬을 이용한 DFS 구현 a[x][i] 값이 1인지(=연결된 간선이 있는지) 확인하면서 방문한 적이 없는 정점을 방문 해야함. void dfs(int x) { check[x] = true; for(int i = 1; i 인접 리스트에 이미 연결된 간선만 저장되어 있기 때문이다. void dfs_list(int x) { check[x] = true; for(int i = 0; i < a[x].length(); i++) { int y = [x][i]; if (check[y] == false) { dfs(y); } } } 배열 visited를 F로 초기화하고 공백 스택을 생성한다. 방문한 정점은 T로. (=visited) 정점 A에 아직 방문하지 않은 정점 B,C가 있으므로 스택에 A 집어넣고 오름..
Binary Tree [자료구조] 트리 (Tree) (velog.io) [자료구조] 트리 (Tree) 사진의 출처 : 링크트리(Tree)는 그래프의 일종으로 정점과 간선을 이용하여 데이터의 배치 형태를 추상화한 자료구조이다.서로 다른 두 노드를 연결하는 길이 하나뿐인 그래프를 트리라고 부른 velog.io *이진 탐색 트리 이진 트리에 탐색을 위한 조건을 추가하여 정의한 자료구조. 1. 모든 원소는 서로 다른 유일한 키를 갖는다. 2. 왼쪽 서브 트리에 있는 원소들의 키는 그 루트의 키보다 작다. 3. 오른쪽 서브 트리에 있는 원소의 키들은 그 루트의 키보다 크다. 4. 왼쪽 서브 트리와 오른쪽 서브 트리도 이진 탐색 트리이다. 기본적으로 루트에서 탐색을 시작한다. 탐색할 키 값 x를 루트 노드의 키 값과 비교한다. - 3개..
갬블링게임 HTML 삽입 미리보기할 수 없는 소스 갬블링 게임 각 숫자를 클릭하면 1에서 3사이의 난수로 바뀝니다. 모두 같은 수가 나오면 승리합니다. 0 0 0 갬블! 초기화 var trial = 0; function shuffle(){ var numbers = document.getElementsByClassName('number'); for(var i = 0; i < numbers.length; i++){ numbers.item(i).innerHTML = Math.floor((Math.random()*3)+1); } var obj = document.getElementById("parent"); var newDiv = document.createElement("div"); newDiv.setAttribute(..