블랙박스 테스트와 화이트박스 테스트
·
기타
블랙박스 테스트소프트웨어의 내부 구조나 작동 원리를 모르는 상태에서 소프트웨어의 동작을 검사하는 방법소프트웨어가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 테스트사용자의 요구사항 명세를 보면서 테스트하는 것, 주로 구현된 기능을 테스트소프트웨어 인터페이스에서 실시되는 테스트테스트 과정의 후반부에 적용ex) 동치 분할 검사(Equivalence Partitioning Testing), 경계값 분석(Boundary Value Analysis), 원인-효과 그래프 검사(Cause-Effect Graphing Testing), 오류 예측 검사(Error Guessing), 비교 검사(Comparison Testing) 화이트박스 테스트소프트웨어 혹은 제품의 내부 구조, 동작을 세밀..
[Java] Static 변수와 Static 메소드
·
기타
Static 변수 다음과 같은 HouseLee 클래스가 있다고 하자.class HouseLee { String lastname = "이";}public class Sample { public static void main(String[] args) { HouseLee lee1 = new HouseLee(); HouseLee lee2 = new HouseLee(); }} HouseLee 클래스를 만들고 객체를 생성하면 객체마다 객체 변수 lastname을 저장하기 위한 메모리가 별도로 할당된다.하지만 HouseLee 클래스의 lastname이 어떤 객체이든지 동일한 값인 '이'로 항상 값이 변하지 않는다면 static을 이용해 메모리 낭비를 줄일 수 있다.  또한 ..
백준 / 1520번 / 내리막 길 / python 파이썬
·
코딩테스트/백준 (python)
문제 :  https://www.acmicpc.net/problem/1520   문제여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으며, 각 지점 사이의 이동은 지도에서 상하좌우 이웃한 곳끼리만 가능하다. 현재 제일 왼쪽 위 칸이 나타내는 지점에 있는 세준이는 제일 오른쪽 아래 칸이 나타내는 지점으로 가려고 한다. 그런데 가능한 힘을 적게 들이고 싶어 항상 높이가 더 낮은 지점으로만 이동하여 목표 지점까지 가고자 한다. 위와 같은 지도에서는 다음과 같은 세 가지 경로가 가능하다. 지도가 주어질 때 이와 같이 제일 왼쪽 위 지점에서 출발하여 제일 오른쪽 아래 지점까지 ..
백준 / 1916번 / 최소비용 구하기 / python 파이썬
·
코딩테스트/백준 (python)
문제 : https://www.acmicpc.net/problem/1916   문제N개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 M개의 버스가 있다. 우리는 A번째 도시에서 B번째 도시까지 가는데 드는 버스 비용을 최소화 시키려고 한다. A번째 도시에서 B번째 도시까지 가는데 드는 최소비용을 출력하여라. 도시의 번호는 1부터 N까지이다.입력첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 주어진다. 그리고 그 다음에는 도착지의 도시 번호가 주어지고 또 그 버스 비용이 주어진다. 버스..
백준 / 11659번 / 구간 합 구하기 4 / python 파이썬
·
코딩테스트/백준 (python)
문제 :  https://www.acmicpc.net/problem/11659  문제수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오.입력첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다.출력총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다.제한1 ≤ N ≤ 100,0001 ≤ M ≤ 100,0001 ≤ i ≤ j ≤ N예제 입력 1 5 35 4 3 2 11 32 45 5예제 출력 11291나의 풀이import sysinput = sys.stdin.readlinen, m = ma..
[운영체제] 가상 메모리
·
CS/OS
페이징 기반 메모리 관리 · 프로세스의 모든 메모리 참조는 논리주소이며, 이 주소는 수행시간에 물리주소로 변환됨   ☞  한 프로세스가 그 수행 과정에서 스와핑을 통해 다시 메모리에  적재될 때, 그 이전과 다른 위치에 적재될 수 있음을 의미 -> 재배치 · 한 프로세스의 주소공간은 페이지로 분할될 수 있고, 프로세스 수행 중 이 페이지들은 메모리의 연속된 영역에 위치할 필요가 없음   ☞ 프로세스가 수행될 때 페이지 테이블을 활용해 동적으로 주소를 변환함으로써 가능케 함 ● 만약 두 특성이 만족된다면, 수행 시간에 프로세스의 모든 페이지(혹은 세그먼트)가 주기억장치에 적재되어 있을 필요가 없음 ! 프로세스의 일부 페이지 적재 후 실행 방법 - 운영체제는 초기에 수행될 프로세스의 코드와 데이터가 포함되도..
[알고리즘] P vs NP
·
자료구조 | 알고리즘
P vs NP 문제 : 컴퓨터가 답이 되는 몇 가지 경우는 빠르게 찾을 수 있지만, 최적의 답을 빠르게 찾을 수는 없는 모든 경우에 대한 문제 - P (Deterministic Polynomial time, 결정론적 다항 시간)다항식 시간복잡도를 가진 알고리즘으로 해결되는 문제 집합 (O(n), O(n²))P 클래스는 입력 크기에 대해 다항 시간 안에 결정론적 순차 기계에서 해결할 수 있는 모든 결정 문제들을 포함 - NP (Non-deterministic Polynomial time, 비결정론적 다항 시간)비결정적 다항식 시간 알고리즘으로 해결되는 문제 집합 (O(n!), O(2^n))NP 알고리즘은 주어진 해에 대해 'Yes'를 확인해야 하므로 결정 문제로 변형NP 클래스는 긍정적인 해답을 주어진 정..
[운영체제] 스레드 동기화
·
CS/OS
스레드 동기화다수의 스레드가 공유 데이터를 동시에 접근할 때 공유 데이터가 훼손되지 않게 스레드의 실행을 제어하는 기법한 스레드가 공유 데이터 사용을 마칠 때까지 다른 스레드가 공유 데이터에 접근하지 못하도록 제어‣ 임계구역과 상호배제임계구역 : 공유 데이터에 접근하는 프로그램 코드들상호배제 : 임계구역에 먼저 진입한 스레드가 임계구역의 실행을 끝낼 때까지, 다른 스레드가 진입하지 못하도록 보장상호배제 구현 요구조건상호배제가 강제되어야 함임계구역에 접근하고자 하는 스레드의 수행이 무한히 미루어져서는 안 됨임계구역이 비어 있을 때, 임계구역에 진입하려고 하는 스레드는 즉시 임계구역에 들어갈 수 있어야 함일반 코드에서 수행이 멈춘 스레드는 다른 스레드의 수행을 간섭해서는 안 됨스레드 개수나 상대적인 스레드 ..