본문 바로가기
반응형

전체 글179

[운영체제] system call 코드를 분석하기전! system call이 무엇인지 알고 넘어가자! system call이란? 리눅스 커널과 같은 운영 체제에서 응용 프로그램의 저수준 입출력 함수가 실행되면, 해당 실시간 라이브러리 함수에 의해 소프트웨어 인터럽트가 실행된다. 이것을 시스템 콜(system call)이라고 하고, 함수의 기능에 따라 드라이버를 구별하고 드라이버 내의 함수를 지정함과 동시에 데이터를 레지스터를 통해 넘겨준다. print_ch.c파일 #include int main() { char buff[ ] = "This is a sample file.\n"; int nb; int i; nb = 24; for (i = 0; i < nb; i++) printf("%c", buff[i]); } lowlevel_read.c .. 2020. 9. 27.
[운영체제] CPU 모드 관찰 성능 모니터 그래프의 추이를 서술하시오 실험 1 Test1.c 실행 int main() { int i=0, sum=0; while (1) { sum += i; i += 1; } } 1. %User Time과 %Privileged Time 중 어느 쪽이 높다고 생각하는가? - %User Time이 더 높다. 2. 이러한 그래프 양상에 대한 이유를 설명하시오. %User Time는 응용프로그램이 사용한 cpu사용률이고, %Privileged Time은 시스템이 사용한 cpu 사용률이다. 따라서 이 코드는 무한반복, 사용자 가 사용하는 응용프로그램이기 때문에 %User Time이 더 높게 나온다. 실험 2 Test2.c 실행 #include int main() { int i=0, sum=0; while (1).. 2020. 9. 27.
백준 C) 10798번 문제 세로 읽기 문제를 같이 볼까요? www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’� www.acmicpc.net 한 줄의 단어는 글자들을 빈칸 없이 연속으로 나열해서 최대 15개의 글자들로 이루어진다. 또한 만들어진 다섯 개의 단어들의 글자 개수는 서로 다를 수 있다. 문제를 보고 딱 든 생각이 2차원 배열을 사용하면 손쉽게 풀 수 있을 것 같았다. 그래서 저의 코드를 보자면 #include #define MAX_SIZE 15 char str_read[5][MAX_SIZE]; int main.. 2020. 9. 26.
django로 크롤링해서 적용하기 +BeautifulSoup사용 github 아이디를 입력하면 커밋한 날은 얼마나 되는지, 1년 동안 총 며칠을 커밋을 했는지 간편하게 보고 싶어 만들게 되었습니다. 순위는 아직 구현 중입니다.! 저는 home이라는 url에서 텍스트 박스에 값을 result페이지로 보내서 크롤링한 값을 적용하려고 합니다. 여기가 home url입니다. home.html의 값을 넘겨받는 코드를 보자면 githubID 이런 식으로 form을 통해 result 페이지로 텍스트박스의 값을 넘겨줍니다. 이제 views.py의 코드를 분석해보겠습니다. @csrf_exempt #CSRF token missing or incorrect오류 해결 def result(request): if request.method == "POST": gitID = request.PO.. 2020. 9. 24.
백준 java) 10818번 문제 최소, 최대 일단 같이 문제를 보겠습니다. www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 문제는 아주 심플하죠. N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 뭔가 정렬 알고리즘을 쓰면 될 거 같죠? 저는 자바로 구현했습니다. import java.util.*; public class Main { public static void main(String[] arg) { Scanner input = ne.. 2020. 9. 23.
백준 C) 10971번 문제 X보다 작은 수 일단 문제를 같이 볼까요? www.acmicpc.net/problem/10871 10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net 문제를 보면 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오. 라고 적혀있습니다. 비교 반복문으로 배열에 저장해주면 될 것 같네요. 저는 c언어로 구현했습니다. #include #include int main() { int i,j=0,max,X; scanf("%d %d",&max,&X); int .. 2020. 9. 23.
백준 java) 10989번 문제 수 정렬하기 3 문제를 같이볼까요? www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제는 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.가 되겠습니다. 이 문제에서는 런타임오류를 어떻게 해결해야하는지 관건이겠네요. 저는 자바로 구현했습니다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWr.. 2020. 9. 22.
백준 java) 11399번 문제 ATM 문제를 한번 같이 볼까요? www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 문제를 읽어보면 줄을 [2, 5, 1, 4, 3] 순서로 줄을 서면, 2번 사람은 1분 만에, 5번 사람은 1+2 = 3분, 1번 사람은 1+2+3 = 6분, 4번 사람은 1+2+3+3 = 9분, 3번 사람은 1+2+3+3+4 = 13분이 걸리게 된다. 각 사람이 돈을 인출하는데 필요한 시간의 합은 1+3+6+9+13 = 32분이다. 이 방법보다 더 필요한 시간의 합을 최소로 만들 수는 없다. 이런 식으로 구현해야.. 2020. 9. 21.
백준 java) 11650번 문제 좌표 정렬하기 문제를 한번 볼까요? www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 여기서 보면 2차원 평면 위에 점 N개가 주어지고, X좌표를 증가하는 순, 같으면 Y좌표가 증가하는 순서로 정렬하는 것입니다. 저는 자바로 구현했습니다. import java.util.*; public class Main { public static void main(String[] arg) { Scanner input = new Sca.. 2020. 9. 21.
반응형