[c] 몫과 나머지를 구하는 나눗셈 연산 수행하기 몫과 나머지를 구하는 나눗셈 연산을 하는 예제이다. 우선 정수값을 2개 받아야 하기 때문에 n1,n2를 정수형으로 선언해준다. 그리고 n1, n2를 나뉘는 값과 나누는 값으로 입력받아준 후, 몫과 나머지를 구하면 된다. 이 때 몫은 / (슬래쉬) 기호를 통해 구하고, 나머지는 % 기호를 통해 구한다는 점을 주의해야 한다. Algorithm 2023.10.16
[c] 원의 넓이 출력하기 c에서 반지름 길이를 입력받아 원의 넓이를 구하는 예제이다. 우선 반지름 값을 scanf 함수를 사용하여 받아준다. (이 때 주소를 꼭 지정해주어야 함) 그리고 넓이를 구하는 공식을 아래에 입력하고, 넓이를 출력하면 된다. Algorithm 2023.10.16
[python] 백준 2753 : 윤년 윤년이면 1, 윤년이 아니면 0을 출력하는 예제이다. 윤년은 4, 400으로 나누어 떨어지지만, 100으로는 나누어 떨어지지 않아야 한다. 따라서 year != 0을 활용하여 100으로는 나누어 떨어지지 않는다는 점을 표시하여야 한다. Algorithm 2023.10.12
[python] 백준 14681: 사분면 고르기 입력값을 2개 받아, 사분면을 출력하는 예제이다. 조건문을 활용하는데, if와 elif를 사용하여 각 사분면의 특징을 정의해주고 그에 맞는 출력값을 출력하도록 설정하였다. 생각해 볼 점: line 10,line 11에서 elif문을 사용하여 4사분면을 표현하였는데, else 처리를 해주어도 정상 작동한다. 그러나 혹시 추가적인 수정사항이 생긴다면 추가하기에 elif문이 더 편리하지 않을까 하는 생각에 elif를 사용하여 구현하였다. Algorithm 2023.10.12
[python] 백준 10869 : 사칙 연산 입력값을 2개 받아 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지를 구하는 예제이다. 먼저 number = input().split()을 이용하여 입력값을 2개 받은 후에, 출력값을 각각 나타내주면 된다. 살펴볼 점 line 10: 몫을 구해야 하는데, 정수로 떨어져야 하기 때문에 // (슬래시 두번)을 적용해야 함. /로 받으면 출력값이 소수점까지 출력되기 때문에 문제에서 요구하는 정답이 아니다. Algorithm 2023.10.12
[c] 0에서 1까지 랜덤 소수 출력하기 랜덤 함수를 이용하여 0에서 1 사이의 소수를 출력하는 예제이다. -필요 헤더 파일: stdio.h, stdlib.h, time.h -살펴볼 점: line 10: rand() 함수의 타입을 double로 설정해줘야 한다. 그렇지 않고 그냥 rand()로 받으면, 0만 출력된다. rand 함수가 반환하는 기본값은 정수이기 때문이다. Algorithm 2023.10.11
[c] 로또 번호 출력하기(번호 간 중복 허용) c에서 로또 번호(1~45 사이의 임의의 난수) 를 출력하는 예제이다. 필요 헤더 파일: stdio.h, stdlib.h , time.h 살펴볼 점: - line 10: 난수 발생기 초기화 : 동등한 난수 시퀀스를 생성하지 않게 하기 위함 - line 14: 로또 번호 생성 함수: rand() % 45 + 1 는 랜덤한 값을 45로 나눈 나머지 값에서 1을 더함으로서 1에서 45까지의 랜덤인 수를 출력하는 데 필요한 함수이다. Algorithm 2023.10.11
[운영체제] 가상메모리 개념, page fault 개념, page fault 발생 시 가상메모리 지원 여부에 따른 시나리오 - 가상메모리는 물리적 메모리에 backing store가 결합된 것으로 프로세스가 메모리에 적재되지 않도 프로세스 실행이 가능하고 물리적 메모리보다 크기가 크다. 또한 페이지 단위의 swap을 하며 입출력 크기의 감소가 있다는 장점을 가진다. -page fault는 page table을 참조하여 주소 변환을 할 때 valid 비트가 0으로 설정되어 있는 invalid 상태일 경우 발생한다. 1. page fault 발생시, 가상메모리를 지원하는 운영체제는 메모리에는 없지만, 디스크에 있으면 해당 페이지를 메모리로 적재한 후 실행시킨다. 만약 유효하 지 않은 참조일 경우 프로세스를 중단시킨다. 2. page fault가 발생할 때 가상메모리를 지원하지 않는 운영체제는 프로세스를 swap out 하고, 디.. Computer Science 2023.06.03
[운영체제] Thrashing(쓰레싱) 개념과 발생 원인, 예방 방법 - 쓰레싱은 빈번한 페이지 교체로 인해 프로세스가 swap in/out 하느라 바쁜 상황을 말한다. 충분한 page를 할당하지 않아 page fault 비율이 높아지게 되고 swap in/out에 시간을 쓰기 때문에 cpu 이용률이 하락한다. cpu 이용률을 높이기 위해 다중 프로그래밍의 정도를 높이게 되어 page fault 비율이 더 높아지게 되고 cpu 이용률이 더 하락하게 되어 쓰레싱이 발생한다. 쓰레싱이 발생하지 않기 위한 방식으로는 working set model과 PFF방식이 있다. Working set model 방식은 전체 frame 요구량이 할당한 프레임보다 클 때 발생하는 쓰레싱 상황에서 한 프로 세스를 중지하고 이 프로세스의 page를 다른 프로세스에게 할당하는 방식이다. PFF 방.. Computer Science 2023.06.02
[Java] Hello world 출력 java에서 Hello, world를 출력하는 문제. 위의 코드대로 입력하면, 정상적으로 출력됨을 확인할 수 있다. Algorithm 2023.05.30