정보처리산업기사 실기/알고리즘 6

알고리즘 기출문제 파악(20년 3회 ~ 15년 1회)

순서도 모래시계 모양 배열(응용) - 20년 3회, 18년 1회, 09년 4회 산업기사 (100*1)+(99*2)...(1*100) - 20년 2회, 17년 2회 산업기사 소인수 분해 - 20년 1회, 17년 3회 산업기사 달팽이 모양 배열 - 19년 3회, 14년 1회 산업기사 근사값 - 19년 2회, 18년 3회, 16년 3,2회 산업기사 석차 구하기 - 19년 1회, 16년 1회 산업기사 병합 정렬 - 18년 2회, 15년 3회 산업기사 합계 구하기 - 17년 1회 산업기사 배열 회전시키기 - 15년 3회, 10년 2회 산업기사 내림차순 정렬 - 15년 2회, 12년 1회 산업기사 삽입 정렬 - 15년 1회, 06년 2회 산업기사 Java언어 퀵 정렬 - 20년 3회 산업기사 알수없음 - 20년 2..

소프트웨어 개발

소프트웨어 생명주기 정의 : 소프트웨어가 필요에 의하여 만들어진 후 운영되기까지의 전체 과정을 말한다. 일반적인 소프트웨어 생명주기 8단계 - 개발 타당성 > 개발 계획 수립 > 요구사항 분석 > 소프트웨어 설계 > 소프트웨어 구현 > 테스트 > 운용 > 유지보수 결합도(=의존도)(Coupling) 정의 - 어떤 모듈이 다른 모듈에 의존하는 정도를 나타내는 것. - 결합도가 낮을수록 높은 응집도를 가진다. 결합도의 개념적인 모델 종류 내용 자료 결합도 (Data coupling) - 모듈들이 파라메터 등을 통해 데이터를 공유하는 경우이다. - 각 데이터가 기본적인 것(elementary piece)이고, 그 데이터들이 공유되는 유일한 데이터이여야 한다(ex. 제곱근을 계산하는 함수로 하나의 정수를 전달하..

응용 알고리즘 - 자료 구조

석차 구하기 문제 : A회사는 25개 대리점을 가지고 있다. 이들 대리점의 전년도 매출액을 순서대로 읽어 들여 매출액을 토대로 대리점의 석차를 구한 후, 25개 대리점에 대하여 매출액과 석차를 함께 순서대로 출력하는 알고리즘을 제시하라. (단, i번째 대리점에 대하여, A(i)는 매출액을 나타내고 R(i)는 석차를 나타낸다. 만일 매출액이 동일한 대리점이 존재할 경우 자신보다 상위자로 보지 않고 석차를 낮추지 않도록 한다.) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 public class 석차구하기 { public static void main(String[] args) { int a[] = new int[25]..

응용 알고리즘 - 배열

행 우선/열 우선 배열 채우기 문제 : 2차원 배열 A(5, 5)의 원소에 다음 그림과 같은 모습으로 값을 저장해 주는 알고리즘을 제시하라. 1 6 11 16 21 2 7 12 17 22 3 8 13 18 23 4 9 14 19 24 5 10 15 20 25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 public class 열우선배열채우기 { public static void main(String[] args) { int a[][] = new int[5][5]; int v = 0; // 증가값. int c = 0; // 배열의 열. // 배열의 열 반복문. do { int r = 0..

기본 알고리즘 - 수학

Count 알고리즘 문제 : 영어 시험 성적이 80점 이상인 학생들의 수를 구하는 알고리즘을 제시하라. - 전체 학생의 수는 100명이다. - 영어 점수는 100점 만점을 기준으로 채점되었다. - 영어 점수는 배열 변수 JUMSU(100)에 이미 저장되어 있다고 가정한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 public class CountAlgorithm { public static void main(String[] args) { // 10명 학생들의 영어 점수를 보관하는 배열 변수. int jumsu[] = {70, 60, 55, 90, 85 , 75, 80, 100, 95, 45}; int cnt = 0; // 80점 이상 count 변수. i..

기본 알고리즘 - 수열

기본 수열(1부터 100까지 자연수) 정의 : 수열은 일정한 규칙에 따라 숫자들이 차례대로 나열된 것을 말한다. 수열의 각 숫자를 항이라고 부른다. 문제 : 1부터 100까지 자연수의 합을 구하는 알고리즘을 제시하라. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 public class Sequence { public static void main(String[] args) { int sum = 0; // 합계 변수. int n = 1; // 수열의 항 변수. while(true) { sum = sum + n; // 수열의 현재 항 n을 누산. n = n + 1; // 1씩 증가. if(n > 100) break; // 수열의 마지막 항까지 // 처리했으면 작업을 종료한다. } System...