본문 바로가기

프로그래밍(TA, AA)

(249)
[프로그래밍] Concurrency, Parallelism 차이 Concurrency(병행성) 그리고 Parallelism(병렬성) 포스팅 원본출처는 http://egloos.zum.com/minjang/v/2517211 입니다. Concurrency는 프로그램의 성질이고 parallel execution은 기계의 성질이다.Concurrenty is a property of the program and prallel execution is a property of the machine. 먼저 concurrency부터 이야기하면, 어떤 프로그램이나 알고리즘이 순서에 상관없이 동시에 수행될 수 있다면 concurrent하다고 말합니다. 예를 들어, 1부터 100까지 숫자를 더하는 과정을 생각해보면 숫자 100개를 여러 부분 집합으로 나눈 뒤 동시에 부분합을 구합니다. 그..
[자바] 주요 개념 정리 finalize 메서드Java의 자동화된 쓰레기 수집기(garbage collector)는 객체를 삭제하기 전에 finalize() 메서드를 호출합니다. 따라서 객체가 삭제되기 직전에 실행되어야 하는 동작이 있다면 Object 클래스에 정의된 finalize() 메서드를 오버라이드하여 정의할 수 있습니다. Collection FrameworkJava의 컬렉션 프레임워크는 아주 유용합니다. 그 중 가장 유용한 몇 가지를 들어보면 다음과 같습니다. ArrayList: ArrayList는 동적으로 크기가 조정되는 배열로, 새 원소를 삽입하면 크기가 늘어납니다. ArrayList myArr = new ArrayList(); myArr.add("one"); myArr.add("two"); System.out.pr..
[알고리즘] 파스칼의 삼각형 [문제] 아래 그림과 같은 규칙성을 가진다고 할 때, 열번호와 행번호를 주면 해당 번호에 위치한 수를 리턴하는 함수를 제작하시오(행과 열번호는 0부터 시작) 11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 1... 입력: 행번호, 열번호출력: 해당행, 열에 위치한 값 ex) 입력: 2 1, 출력: 2 [풀이] 파스칼의 삼각형이라는 유명한 문제이다. 규칙성을 보면,1) 각 행의 첫번째와 제일 마지막 수는 12) 1번 규칙 이외의 값들에 대해서는 바로 윗 행의 같은 열값과 왼쪽열값의 합 위 두가지 규칙성을 보면, 특히 두번째 규칙성을 보면 점화식형태로 되어 있고, 따라서 재귀호출을 쓰면 쉽게 구현이 되겠다. (최적의 구현방법이라는 것은 아니다) private s..
[알고리즘] 행렬 경로 문제 N x N개의 방에 임의의 양수가 들어있습니다. 왼쪽 위에서 출발해서 맨 오른쪽 아래로 이동하려 할 때, 지나치는 방들의 숫자의 합이 최대가 되는 경로를 택했을 때 나오는 최댓값을 구하시오. (단, 이동은 오른쪽 혹은 아래쪽으로만 가능하고, 위로 혹은 왼쪽으로 이동이 불가하고, 대각선으로의 이동도 불가능 합니다.) - 입력 첫째 줄에 테스트의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 구성된다. 첫째 줄에 가로칸의 개수 N이 주어진다. 그리고 그 다음줄부터 N개의 행값이 주어진다. 예) 1 4 6 7 12 5 5 3 11 18 7 17 3 3 8 10 14 9 - 출력 최적의 경로로 이동했을 때, 경로상의 값들을 더한 값을 출력한다. 예) 1번 테스트의 경우 더한 최댓값이 68인 경우 # 1:..
[알고리즘] 자료구조 배열과 문자열배열에 대한 질문이나 문자열에 대한 질문들은 서로 바꿀 수 있습니다. 다시 말해, 배열에 관한 것들은 문자열에 대한 문제로 바꿔 출제할 수도 있으며, 그 반대도 가능합니다. 해시 테이블해시 테이블은 효율적인 탐색을 위한 자료구조로서 키(Key)를 값(Value)에 대응시킵니다. 해시 테이블을 아주 간단히 구현하는 경우, 배열과 해시 함수만 있으면 됩니다. 객체와 키를 해시 테이블에 넣게 되면 우선 해시 함수가 키를 정수값으로 대응시키는데, 이 정수값이 배열의 인덱스로 쓰입니다. 객체는 배열의 해당 인덱스 위치에 저장됩니다. 하지만 이렇게 구현해서는 제대로 동작하지 않을 것입니다. 모든 가능한 키에 대해서 해시 함수가 계산해 내는 정수값이 유일해야 하기 때문입니다. 유일성이 보장되지 않을 경우..