본문 바로가기

코딩15

SW 문제해결 기본 - Array 2 1. 2차원 Array ① 2차원 Array의 선언 2차원 이상의 다차원 Array는 차원에 따라 인덱스를 선언한다. 2차원 Array의 선언은 세로 길이(행의 개수), 가로 길이(열의 개수)를 필요로 한다. ② 2차원 Array의 순회 순회란 Array의 모든 원소를 모두 조회하는 것을 말한다. 행 우선 순회, 열 우선 순회, 지그재그 순회가 있다. 지그재그 순회 첫 행은 우측으로, 다음 행은 좌측으로 진행하여 Array의 원소를 조사하는 방법 int i;// 행의 좌표 int j;// 열의 좌표 for i from 0 to n-1 for j from 0 to m-1 Array[i][j + (m-1-2*j) * (i%2)]; ③ 델타를 이용한 2차 Array 탐색 델타의 개념을 이용하여 2차 Array.. 2019. 4. 29.
SW 문제해결 기본 - Array 1 1. Algorithm ① Algorithm 개요 유한한 단계를 통하여 문제를 해결하기 위한 절차나 방법이다. 슈도코드나 순서도로 표현한다. ② Algorithm의 성능 분석 정확성, 작업량, 메모리 사용량, 단순성, 최적성 등으로 성능을 판단한다. 작업량을 표현할 때 시간 복잡도를 이용한다. 2. Array ① Array의 특성 일정한 자료형의 변수들을 하나의 이름으로 열거하여 사용하는 자료구조이다. ② Array의 필요성 프로그램 내에서 여러 개의 변수가 필요할 때, 일일이 다른 변수명을 이용하여 자료에 접근하는 것은 매우 비효율적이다. 다수의 변수로는 하기 힘든 작업을 Array를 활용해 쉽게 할 수 있다. 3. Exhaustive Search 문제의 해법으로 생각할 수 있는 모든 경우의 수를 나열.. 2019. 4. 27.
분기문 알아보기 (return, break, continue) 분기문이란? 프로그램의 순차적 수행 순서에 따르지 않고 다른 명령을 수행하도록 이행시키는 명령 1. return 자신(함수)를 호출한 곳으로 다시 되돌아가는 명령 int main() { void func(); /* 여기로 이동 */ return 0; } void func() { return; } 2. break 현재 수행중인 루프 중 가장 가까운 루프를 벗어나는 명령 int main() { for (int i = 0; ; i++) { if (i == 5) break; } /* 여기로 이동 */ } 3. continue 현재 수행중인 루프의 처음으로 되돌아가는 명령 int main() { for (int i = 0; ; i++) { /* 여기로 이동 */ if (i == 5) continue; } } br.. 2019. 4. 22.