📌 Study Tip
-
정보처리기사
[정보처리기사 실기] 프로그래밍 언어 활용 (C언어, JAVA, Python)
✏️ C언어, JAVA기본 데이터 타입 및 크기C언어JAVA자료형예약어(크기, byte)예약어(크기, byte)정수형short(2)int(4)long(4)unsignedbyte(1)short(2)int(4)long(8)실수형float(4)double(8)long doublefloat(4)double(8)문자형char(1)unsigned charchar(2)형 없음voidvoid논리형-boolean(1) C언어 연산자 우선순위비트연산자: 정수형 변수만을 대상으로 합니다. JAVA 연산자 우선순위 JAVA의 다형성: 오버로딩(Overloading), 오버라이딩(Overriding), 업캐스팅(UpCasting)오버로딩- 같은 클래스 내에서 같은 메소드명 중복 정의(매개변수의 자료형, 개수, 순서 상이)- 메..
-
정보처리기사
프로세스 스케줄링 - FCFS, SJF, HRN, SRT, RR
비선점FCFS(First come First served, 서비스를 받으러 도착한 순서대로)1. 다음은 CPU에 서비스를 받으려고 도착한 순서대로 프로세스와 그 서비스 시간을 나타낸다. FCFS CPU 스케줄링에 의해서 프로세스를 처리한다고 했을 때, 프로세스 평균 대기 시간은 얼마인가?프로세스버스트 시간(초)대기시간P1240 (바로 시작)P2324 (P1의 소요시간)P3327 (P1 + P2 소요시간 )24 + 27 = 5151 / 3 = 17 2. 다음과 같은 3개의 작업에 대하여 FCFS 알고리즘을 사용할 때, 임의의 작업 순서로 얻을 수 있는 최대 평균 반환 시간을 T, 최소 평균 반환 시간을 t라고 가정했을 때 T-t 값은?프로세스실행시간P19P23P312최대평균반환시간대기시간반환시간120 (바..
-
정보처리기사
[정보처리기사 실기] 2022년 3회 실기(1~20번)
01. 다음 중 형상관리 도구에 해당하는 것을 모두 고르시오.보기: Ant, CVS, OLAP, Maven, SVN, Jenkins, OLTP, Git, Graddle형상 관리(SW 전반적인 것을 통제하고 관리) > 버전 관리(이전 버전으로 되돌린다던지) > 변경 관리(소스코드 변경)형상 관리: SW 개발 도중에 발생하는 변경사항을 통제하고 관리하는 도구(역할)Ant: 배포 도구CVS: 형상 관리 도구 -> 중앙 집중식(중앙에 레파지토리 만들어놓고 소스코드 업로드/다운로드)OLAP: 데이터에서 무언가를 분석할 수 있도록 함수 제공Maven: 배포 도구SVN: 형상 관리 도구 -> 중앙 집중식Jenkins: 배포도구OLTP: 온라인 트랜잭션 처리Git: 형상 관리 도구 -> 분산 환경 처리Graddle: ..
-
SQL 튜닝
[SQL튜닝/인덱스와 조인] 인덱스의 구조, 기본 원리
🖥️ 들어가며📌 튜닝에서 가장 중요한 점: 즉, 디스크 I/O 횟수를 절감해야하고, 이를 위해 튜너는 블록을 적게 읽는 방법을 찾아야 합니다.✏️ 1. 인덱스의 구조인덱스: 키 순서대로 정렬한다는 점이 가장 중요합니다.인덱스는 Index Key + RowID만 저장하면 되기 때문에 한 블록에 테이블보다 더 많은 데이터를 저장할 수 있습니다.RowID: Oracle에서 데이터의 물리적 위치를 나타내는 포인터입니다. (Data Object + File + Block + Row)Node: key 범위 + 블록 주소를 갖고 있습니다.Root Node: 가장 상위 노드, 하위의 Branch Node 수 만큼의 RowBranch Node: Root와 Leaf의 연결 고리, 자기 하위의 Leaf Node 수 만큼..
-
Python
[Python/level 0] 369게임 - 120891, str, count
문제 설명머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수를 return 하도록 solution 함수를 완성해보세요. code - 1차def solution(order): count = 0 for n in str(order): if n == "3" or n == "6" or n == "9": count += 1 return count code - 2차def solution(order): order_count = str(order).coun..
-
정보처리기사
페이지 교체 알고리즘 - FIFO, LRU, LFU
FIFO(First in First out, 먼저 들어온 것을 먼저 교체)1. 3개의 페이지 프레임을 갖는 시스템에서 페이지 참조 순서가 1, 2, 1, 0, 4, 1, 3일 경우 FIFO 알고리즘에 의한 페이지 교체의 경우 프레임의 최종 상태는?FIFO공간 3개1: 페이지 부재 발생1 2: 페이지 부재 발생1 21 2 0: 페이지 부재 발생4 2 0: 페이지 부재 발생FIFO: 먼저 들어온 것을 먼저 빼냄1 → 44 1 0: 페이지 부재 발생2 → 14 1 3: 페이지 부재 발생0 → 3프레임의 최종 상태4, 1, 3 2. 3개의 페이지 프레임을 가진 기억장치에서 페이지 요청을 다음과 같은 페이지 번호 순으로 요청했을 때 교체 알고리즘으로 FIFO방법을 사용한다면 몇 번의 페이지 부재가 발생하는가? (..
-
SQL 튜닝
[SQL 튜닝/인덱스와 조인] 다양한 인덱스 스캔 방식 (Index Range Scan, Index Full Scan, Index Unique Scan, Index Skip Scan, Index Fast Full Scan, Index Range Scan Descending, In-List Iterator, Index Combine)
🖥️ 들어가며📌 인덱스 스캔 방식: 여러가지가 있지만, Index Unique Scan을 제외하면 Index Range Scan의 성능이 가장 좋습니다.✏️ 1. Index Range Scan항상 빠른 속도를 보장하지는 않습니다.(인덱스 스캔의 손익분기점: Index Rage Scan에 의한 테이블 액세스가 Full Table Scan보다 느려지는 지점)SQL 튜닝: Key Point인덱스 스캔하는 범위를 얼마나 줄일 수 있는가?테이블로 액세스하는 횟수를 얼마나 줄일 수 있는가? (즉, R.A를 얼마나 줄일 수 있는가)힌트: Range Scan을 유도하는 인트는 없으며, Index 힌트*를 활용합니다. 👉🏻 *힌트힌트는 사용자의 명령어로 인식됩니다.따라서 힌트가 적용되지 않는 경우그 힌트가 논리적..
-
알고리즘
[알고리즘/해쉬(Hash)] 개념, 해시 충돌(Hash Collision), Python-Dictionary 문법
Hash 개념Key : Value 형태를 갖는 자료구조Key: 이름 - Value: 전화번호모든 데이터 타입으로 접근 가능Hash Table💡 Key - ValueHashing: Hash FunctionKey: 고유한 값, 해시 함수의 input(저장 시 값을 해시 함수로 바꾸어 저장함)Value: bucket(저장소)에 최종적으로 저장되는 값, key와 매칭되어 저장, 검색, 접근, 삭제 가능Hash Function: key 값을 Hash로 변경해 주는 함수⇒ Hash Table에서 key 값은 해시 함수를 통해 해시로 변경(index 매핑)되며, 이 Hash 값은 key와 매칭되어 bucket(저장소)에 저장됨 해시 충돌(Hash Collision)필연적 문제Hash를 이용한 자료구조 방식에서 필연..
-
정보처리기사
[정보처리기사 실기] C언어 특강 - Switch, Do while, For, While, 반복문 옵션(continue, break)
C언어1. Switch문break문 여부에 따라 결과가 달라짐 2. Do ~ While, For, While문Do ~ While(조건): 한 번은 무조건 실행For(초기식; 조건식; 증감식;){}: 초기식은 처음에만 실행While(조건){}반복문 옵션continue: 더 이상 아래 문장을 실행하지 않고, 맨 처음으로 돌아감break: 반복문을 빠져나감 문제 풀이 순서: While문 -> For문While문a: 2로 비교, 1로 비교, -1로 비교, 0, 1출력: 1, 0For문b: 0으로 비교, 1로 비교출력: -1, 0출력: 1, 0 , -1, 0 a: 120-45=75, 75-45=30, 30-15=15b: 45, 45-30=15출력: 15 &&: 논리 연산자(AND)0이 나오면 False -> su..
-
문법
[Java/문법] ArrayLIst 주요 메서드 정리 (add, get, contains, indexOf, lastIndexOf, set, remove, clear, size, isEmpty, toArray, forEach, sort(Comparator.naturalorder()/.reverseOrder()))
✏️ 추가: add메서드설명add(E e)리스트 끝에 요소 추가add(int index, E e)특정 인덱스에 요소 삽입ArrayList list = new ArrayList();list.add("Apple"); // ["Apple"]list.add("Banana"); // ["Apple", "Banana"]list.add(1, "Cherry"); // ["Apple", "Cherry", "Banana"] ✏️ 조회: get, contains메서드설명get(int index)특정 인덱스의 요소 가져오기contains(Object o)리스트에 특정 요소가 있는지 확인 (반환: true / false)indexOf(Object o)특정 요소의 인덱스 반환 (없으면 -1)lastIndexOf(Object..