📌 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 (바..
-
정보처리기사
페이지 교체 알고리즘 - 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튜닝/인덱스와 조인] Nested Loop 조인 (Prefetch, Batch I/O)
🖥️ 들어가며📌 Prefetch, Batch I/O: 모두 Disk I/O 횟수를 감소시키기 위해 사용합니다.다만 Prefetch는 미세한 Block Read량이 증가하게 되고, Batch I/O는 Disk I/O 발생 시 정렬 순서가 상이해집니다. ✏️ 1. Nested Loop 조인기본 매커니즘for문(Java의 중첩 루프문)과 동일한 원리입니다.반복문의 외부에 있는 테이블 = 선행 테이블 = 외부 테이블 = Outer Table반복문의 내부에 있는 테이블 = 후행 테이블 = 내부 테이블 = Inner Table선행 테이블 조건에 만족하는 첫번째 행 추출 → 후행 테이블 읽으면서 조인 → 선행 테이블 조건을 만족하는 모든 행의 수만큼 반복수행=> 선행 테이블 조건에 만족하는 행의 수가 많으면 그만..
-
Python
[Python/level 0] 대문자와 소문자 - 120893, swapcase()
문제 설명문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요. swapcase()The swapcase() method returns a string where all the upper case letters are lower case and vice versa.대문자 ↔ 소문자string.swapcase()참고자료: W3schools - Python String swapcase() Method Code - 1차def solution(my_string): answer = '' for i in my_string: if i.isupper(): answer += i..
-
Python
[Python] Lv.0 코딩 기초 트레이닝 - 간단한 논리 연산, 주사위 게임 3
1. 간단한 논리 연산(x1 ∨ x2) ∧ (x3 ∨ x4) ∨: 논리합 = or ∧: 논리곱 = anddef solution(x1, x2, x3, x4): answer = True if (x1 or x2) and (x3 or x4): return answer else: answer = False return answer 2. 주사위 게임 3dice.sort(): 0~3까지 정렬네 주사위에서 나온 숫자가 모두 p로 같다면 1111 × p점을 얻습니다. if dice[0] == dice[3]: answer = 1111 * dice[0] 세 주사위에서 나온 숫자가 p로 같고 나머지 다른 주사위에서 나온 숫자가 q(p ≠ q)라면 (10 × p..
-
코딩테스트
[java/프로그래머스/120907] OX퀴즈 (.split)
✏️ 문제 설명덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있는 문자열 배열 quiz가 매개변수로 주어집니다. 수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 return하도록 solution 함수를 완성해주세요.✏️ codeclass Solution { public String[] solution(String[] quiz) { String[] result = new String[quiz.length]; for (int i = 0; i
-
SQL 튜닝
[SQL튜닝/SQL 분석] SQL 분석 도구(1) (AutoTrace, dbms_xplan.display & dbms_xplan.display_cursor, 10046 Trace & SQL Trace)
🖥️ 들어가며📌 Trace 결과 분석: AutoTrace, dbms_xplan.display & dbms_xplan.display_cursor, 10046 Trace & SQL Trace📌 전체 DB 성능 분석: AWR Report ✏️ 1. AutoTraceSQL*Plus에서 제공하는 실제실행계획 및 실행통계 확인 도구SQL 수행 시 실제 일량 측정 및 튜닝하는데 유용한 정보들을 많이 포함하는 도구입니다.10046 Trace와는 달리(.trc 파일 생성) 트레이스 파일 없이 화면에 결과를 출력합니다.출력 정보조건절 정보(Predicate Information): access / filterHint ReportNoteEvent에 대한 통계 정보: sorts SQL> set autot onSQL> s..
-
문법
[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..
-
SQL 튜닝
[SQL튜닝/옵티마이저 원리] 쿼리 변환 2 (조건절 Pushing, 조건절 이행, 불필요한 조인 제거, OR 조건을 Union으로 변환, 기타)
🖥️ 들어가며📌 쿼리 변환 종합- 서브쿼리 Unnesting (+ push_subq)- 뷰 Merging (불가한 경우: 집CR 함수는 불가, Group By는 가능)- 조건절 Pushing (조인절 Pushdown, 조인절 Pullup, 조인조건 Pushdown)- 조건절 이행- 불필요한 조인 제거- OR 조건을 Union으로 변환 (OR-Expansion)- 기타 ✏️ 1. 조건절 Pushing옵티마이저의 뷰 처리1차적으로 뷰 Merging을 수행하지만뷰 Merging 실패 시 옵티마이저는 조건절(Predicate) Pushing을 시도합니다.조건절 Pushing뷰를 참조하는 메인쿼리 블록의 조건절을 → 뷰 쿼리 블록 안으로 Pushing하는 기능입니다.조건절 Pushing 종류1. 조건절 Pus..