도드넷
정보처리기능사 실기 기출유형#15 - 배열 알고리즘 총정리 본문
Phase is just too fast you just wont last!
정보처리기능사 실기 기출유형#15 - 배열 알고리즘 총정리
1. 직각 삼각형 배열 알고리즘
- "비어있는 배열" 첫번쨰 유형인데 빈걸 어떻게 구현하느냐가 관건인듯 ?
비어있는건 그냥 그 배열 원소에 아무것도 넣지 않으면됨. 안넣는거야 반복문 통제변수 조절하면 될일.
핵심은 이중 반복문으로 구현되는 배열의 인덱스 J, i 둘의 관계를 잘 조절하는 것이다.
둘의 관계를 정할때 가장 중요한 요소는 진행방향이다.
이것만 명심하면 삼각형이 무슨 지랄을하고 나오든 해결가능.
2. ㄹ 배열 알고리즘
- 행마다 방향이 바뀌는데 교환과 플래그를 이용해야 한다.
한행마다 진행방향이 바뀌므로 이중반복문의 내부 반복문의 통제변수모두 유동적인 변수를 사용해야한다.
- 교환은 교환용 임시저장 변수를 이용한다.
3. 다이아몬드 배열 알고리즘
- 중간지점 관련 문제
- 마름모 다이아몬드 모양으로 진행하는 배열인데.. 뾰족한 꼭대기 한점부터 아래로 진행하며 양쪽으로 퍼지다가 중간지점 이후에 다시 모아져서 아랫쪽 꼭대기 한점으로 모이는 식으라고 보면 됨.
- 이 또한 이중반복문중 내부반목문 통제변수두개 시작인덱스와 끝인덱스를 유동적인 변수로 써야한다.
- 꼭대기 맨아래 점이야 둘다같은 수 써주면되고 중간지점도달까지 양쪽으로 퍼지는건 시작 인덱스에 -1씩 끝인덱스에는 +1씩 해주다가 최고로찢어진 중간지점이후에는 다시바꿔서 시작인덱스에 +1, 끝 인덱스 -1 해주면서 다시 불러들이면 된다.
4. 모래시계
- 중간지점 관련 문제
- 시작인덱스와 끝인덱스 조작의 끝. 일단 중간지점 찾고 시작인덱스는 증가하고 끝인덱스는 감소하게하고
행변화에서 중간지점 도착하면 반대로 시작인덱스는 감소하고 끝인덱스는 증가하게해서 원상복귀.
5. 오른쪽이 빈 삼각형
중간지점 관련 문제
- 중간지점 도달직전까지 열 끝인덱스 감소시키다가 중간지점 도달시 열 끝인덱스를 행 인덱스와 동기화시켜서 원상복구시킴.
6. 이등변 삼각형
- 열의 변화에따른 행의 시작인덱스와 끝인덱스의 변화.
7. 달팽이 모양
- 방향변수와 수행횟수 변수사용, 열의 변화에서 끝에 도달할시 방향변수 x-1, 행의 변화에서 끝에
도달할시 수행횟수 감소
이 모든것을 다외울 필요는 없고. 배열문제가 주워지면 아래같은 프로토콜을 진행하면 됨.
1. 진행방향 파악.
2. 시작되는 원소를 기반으로 반복문에서 필요한 시작 인덱스와 끝 인덱스 파악.
3. 주워진 변수들로 구현하기.
8. 앞에서 뒤로 밀리는 형식의 기묘한 배열
1 |
2 |
3 |
4 |
2 |
3 |
4 |
1 |
3 |
4 |
1 |
2 |
4 |
1 |
2 |
3 |
이런 형태인데 핵심은 열이끝나는 즉, 줄바꾸는 다음루프 타이밍에 숫자변수 K안에 "행번호M"를 집어넣음으로 해서 다음 행 시작할때 시작수를 맞추는 동시에, 최대수인 "4"에 도달시 K=1부터 다시 증가하게 만들면 뒤로밀리는듯? 한게 구현이 가능하다.
'창고 > 정보처리기능사[완]' 카테고리의 다른 글
정보처리기능사 실기 기출유형#16 - 실무응용 부서 알고리즘 (0) | 2016.05.14 |
---|---|
정보처리기능사 필기같은 실기#3 - 관계형 데이터베이스 (0) | 2016.05.13 |
정보처리기능사 실기 기출유형#14 - 병합 알고리즘 (0) | 2016.05.13 |
정보처리기능사 실기 기출유형#13 - 이분검색 (0) | 2016.05.13 |
정보처리기능사 실기 기출유형#12 - 석차 알고리즘 (0) | 2016.05.13 |