분류 전체보기(754)
-
[알고리즘] 짝수와 홀수
문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 numreturn 3"Odd" 4"Even" 나의 풀이 - %를 활용하면 되는 기초 문제 def solution(num): answer = '' if num % 2 == 0: answer = "Even" else: answer = "Odd" return answer
2023.10.18 -
[CS] DMA와 서로 다른 입출력 명령어, 저장장치 계층 구조 등과 같은 전반적인 운영체제에 대한 나름의 이해
DMA는 Direct Memory Access로 입출력과 메모리를 직접적으로 연결해주는 역할을 한다. 바이트 단위가 아닌 블록 단위로 인터럽트를 시킨다. 서로 다른 입출력 명령어란 입출력에 대한 명령어를 따로 설정할 수도 있고 아니면 메모리 명령어로도 쓸 수 있다는 것이다. 후자의 경우 입출력 장치도 하나의 메모리 영역에 있다고 보는 것이다. 저장장치 계층 구조란 저장장치의 속도 차이 때문에 만들어진 것이다. 속도가 빠른 것은 크기가 작고 비용이 크다. 계층구조에서 상위를 차지하고 속도가 느린 것은 반대이다. 순서대로 레지스터, 캐시 메모리, 메인 메모리가 프라이머리 구조를 이루고 하드디스크가 세컨더리 구조를 이룬다. 프라이머리 계층은 CPU가 직접 접근이 가능한 계층이고 세컨더리는 그게 아니다. 캐싱은..
2023.10.18 -
[CS] 동기식 입출력과 비동기식 입출력에 대한 나름의 이해
동기식 입출력은 유저 프로세스가 입출력 결과를 받고 나서 그다음 할일을 수행하는 방식이다. 비동기식 입출력은 유저 프로세스가 입출력 요청만 주고 다음 할일을 수행하다가 입출력 결과를 받는 식이다. 동기식 입출력의 구현 방식은 두 가지인데 하나는 CPU가 입출력 작업이 끝날때 까지 기다리는 것이다. 하지만 이렇게 되면 CPU가 낭비가 된다. 또한 매시점 하나의 입출력만 가능하므로 I/O 관점에서도 손해이다. (이건 솔직히 이해가 잘안된다) 두 번째는 CPU가 입출력 작업이 진행중인 프로세스는 넘기는 것이다. 이렇게 되면 CPU가 낭비되지 않고 여러개의 입출력도 가능해진다. 왜냐하면 다른 프로세스도 입출력 요청을 하면 역시 CPU 권한이 뺏기기 떄문이다. 비동기식 입출력은 입출력이 끝나길 기다리지 않고 즉시..
2023.10.17 -
[Spring] 애노테이션 직접 만들기
다음과 같은 상황을 해결하기 위해 애노테이션을 직접 만들어보자 @Qualifier를 쓰게 되면 내가 안에 들어가는 문자가 main인데 mainn으로 잘못 입력할 수도 있다. 근데 이러면 컴파일 오류가 나지 않기 때문에 어디가 틀렸는지 확인하는데 애를 먹을 수 있다. 이러한 경우 mainn으로 입력하면 바로 오류가 뜨도록 애노테이션을 만들 수 있다.@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementType.ANNOTATION_TYPE}) @Retention(RetentionPolicy.RUNTIME) @Inherited @Documented @Qualifier("mainDiscountP..
2023.10.17 -
[SQL][2] 아픈 동물 찾기
문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_IDVARCHAR(N)FALSE ANIMAL_TYPEVARCHAR(N)FALSE DATETIMEDATETIMEFALSE INTAKE_CONDITIONVARCHAR(N)FALSE NAMEVARCHAR(N)TRUE SEX_UPON_INTAKEVARCHAR(N)FALSE 동물 보호소에..
2023.10.17 -
[SQL][2] 상위 n개 레코드
문제 설명 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_IDVARCHAR(N)FALSE ANIMAL_TYPEVARCHAR(N)FALSE DATETIMEDATETIMEFALSE INTAKE_CONDITIONVARCHAR(N)FALSE NAMEVARCHAR(N)TRUE SEX_UPON_INTAKEVARCHAR(N)FALSE 동물 보호소에..
2023.10.17