728x90 반응형 분류 전체보기322 [Kotlin] 내포된 반복문과 레이블 반복문을 끝낼때는 break, 다음 단계 반복으로 넘어갈 때는 continue를 사용한다. 이는 자신이 포함되어 있는 반복문에서만 적용이 가능하다. 그런데 이중 반복문에서 break와 continue를 바깥쪽 반복문에 적용시키고 싶을 수도 있다. 이럴 때 사용하는 것이 레이블이다. 쉽게 말해서 반복문에 이름을 지정하고 break와 continue를 그 이름에 해당하는 반복문에 적용시키는 것이다. val arr = intArrayOf(0,2,3,4,5) val arr1 = intArrayOf(1,2,3,4,5) out@ for(i in arr.indices){ for(j in arr1.indices){ if(arr1[j]==4) continue@out print(arr[i]) println(arr1[j]).. 2022. 12. 6. [Algorithm] 점화식 점근적 접근 방식(반복 대치, 추정 후 증명) 점화식을 푸는 방법 중에서 반복 대치와 추정 후 증명에 대해 공부해보려 한다. 반복 대치 추정 후 증명 반복 대치 점화식을 잘게 쪼개어서 푸는 방법이다. (1) T(n) = T(n-1) + n 이라는 점화식이 있다고 하자. ( T(1) = 1 ) n에 n-1을 넣으면 T(n-1) = T(n-2) + n-1이 된다. 그럼 1번 점화식의 우변에 존재하는 T(n-1)에 그대로 대입하면 (2) T(n) = T(n-2)+ n + (n-1)이 된다. 원래 1번 점화식의 n에 n-2를 넣으면 T(n-2) = T(n-3) + n-2가 된다. 이를 2번 점화식의 우변에 존재하는 T(n-2)에 그대로 대입하면 (3) T(n) = T(n-3) + n +(n-1) + (n-2)가 된다. T(1)을 알고 있고 T(1)이 나올때.. 2022. 12. 5. [Algorithm] 없는 숫자 찾기 1부터 n까지의 수 집합이 존재한다. 이 중에서 하나의 수만 제외하고 n-1개의 수 집합 중에서 서로 다른 숫자 n-1개를 입력받는다. 여기서 존재하지 않는 숫자는 무엇인가? ex) n=5 이고 {1,2,4,5} 입력받았다면 답은 "3"이다. 입력 : 5 1 2 4 5 출력 : 3 크게 두 가지 방법이 존재한다. 배열 사용 첫 번째는 넉넉한 크기의 배열을 만든 다음에 모두 0을 저장한다. 그리고 수를 입력받으면 그 값을 인덱스로 사용하여 배열 해당 인덱스의 값을 1로 저장한다. 다 입력받고 나면 0이 들어있는 인덱스를 찾으면 끝이다. 위의 예시에서는 수를 전부 입력받으면 아래와 같은 모습이 된다. index 0 1 2 3 4 5 value 0 1 1 0 1 1 0번 인덱스의 값은 사용하지 않고 1번 인덱.. 2022. 12. 4. [Database] 트랜잭션(transactioin) 개념과 동시성의 중요성 동시성을 다룰 때 크게는 interleaved : 교대로 수행하면서 동시에 수행하는 것처럼 보이게 함 parallel : 실제로 동시에 수행 두 개로 나뉜다. 데이터베이스에서 동시성을 다룰 때는 대부분 1번 방식을 사용한다. 트랜잭션 트랜잭션의 뜻은 데이터베이스에서 어떠한 일이 수행되는 논리적 최소 단위이다. 하나의 트랜잭션에는 데이터베이스 연산이 여러 개 들어갈 수 있다. ex) 삽입, 삭제, 수정 어떤 프로그램은 하나 이상의 트랜잭션이 포함되어 있다. 트랜잭션 연산 트랜잭션 연산에 앞서 디스크 속 블록을 읽고 쓰는 과정을 알면 이해가 쉽다. https://growth-coder.tistory.com/12 read-item(x) x가 존재하는 디스크 블록을 찾는다. 디스크 블록을 메인메모리 버퍼 영역으.. 2022. 12. 3. 이전 1 ··· 72 73 74 75 76 77 78 ··· 81 다음 728x90 반응형