• 검색 결과가 없습니다.

보고서 #5 (기한: 5/17)

N/A
N/A
Protected

Academic year: 2021

Share "보고서 #5 (기한: 5/17)"

Copied!
6
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

보고서 #5 (기한: 5/17)

제출 방법:

대학 학습플랫폼(Lms)에 명시된 기간내 제출해야 한다.

설정된 제출 기간 5/17이며, 기한이 지나면 제출할 수 없음에 유의하 기 바랍니다.

1

(2)

문제 #1

2개의 큐, q1, q2를 이용하여 스택을 구현하고자 한다. 방법은 다 음과 같다: q1에 삽입된 항목들이 역순으로 저장되게 한다. 즉, 1, 2, 3, 4의 4개 항목이 순차적으로 삽입되었을 때 다음은 q1의 상 태이다. 이를 위해서 q2를 이용하라.

다음 순서대로 문제를 해결하라.

q1, q2를 전역적으로 생성하고, 초기화하라.

push(item) 연산을 작성하라. item은 정수이다.

pop() 연산을 작성하라.

다음 main() 함수를 작성하여 테스트하라.

4 2 3

1

rear front

q1

main() {

int a[] = {1,2,3,4,5};

// 배열 a에 포함된 모든 수를 순서대로 스택에 저장하라.

// 스택에 포함된 모든 수를 꺼내어 출력하라.

}

(3)

Solution: 문제 1

push(item) {

// 모든 항목을 q1으로부터 q2로 이동 while !is_empty(q1) do

enqueue(q2, dequeue(q1));

repeat

// item을 q1에 삽입 enqueue(q1, item);

// q2에 포함된 모든 항목을 q1으로 다시 이동 while !is_empty(q2) do

enqueuer(q1, dequeue(q2));

repeat }

pop() {

// q1에서 한 개의 항목을 삭제하여 반환 if !is_empty(q1) then

return dequeue(q1) else

error();

}

(4)

Solution: 문제 1

큐에 다음 순서로 삽입하였을 경우에: 1, 2, 3, 4 q1, q2의 상태는 다음과 같다.

1 2 3 4

q1

q2

(5)

문제 #2

 한 개의 문자열을 매개변수로 전달받고, 이 문자열이 앞 에서부터 읽으나 뒤에서부터 읽으나 같은지를 판단하여 true 또는 false를 반환하는 is_palin() 알고리즘을 작성 하라. 가령, is_palin()은 문자열이 “madam”이면 true를 반환하고, “data”이면 false를 반환하다. 단, 덱을 이용 하라.

 위에서 작성한 알고리즘을 C 함수로 작성하고, 또한 main() 함수를 작성하여 테스트하라.

main()에서는 사용자로부터 문자열 s를 입력받아서,

is_palin()에 전달하고, 그 결과에 따라서 다음과 같이 출력 한다: “s is Palindrome” 또는 “s is NOT palindrome”

위 과정을 사용자가 원할 때까지 반복하라.

5

(6)

Sol: 문제#2

boolean is_palin(char s[]) { DequeType dq; // 덱 생성

init_deque(&dq); // 덱 초기화 // s에 포함된 문자들을 dq에 저장 for i<- 0 to strlen(s)-1 do

add_rear(&dq, s[i]) repeat

while !is_empty(dq) do

first = delete_front(&dq); //앞에서 문자를 가져오고

if is_empty(dq) then // dq에 한 개의 문자만 남아 있으면 return true;

else

last = delete_rear(&dq); // 뒤에서 문자를 가져오고

if first != last then // 앞, 뒤 문자가 일치하지 않으면 return false

end if end if repeat

return true }

참조

관련 문서

그러나 어떻게 이러한 프로세스를 활성화하고 현재 비즈니스 사례를 유 지할 뿐만 아니라 민첩한 변화와 변환을 위한 서비스 기반 아키텍처를 생성할

흥미있는 질문 논리적 순서 간섭배제 개인적 질문 감정적 질문 복잡한 질문. 인구통계적 질문은 설문지

현장실습 보고서 작성 방법. inSTAR→

보고서 제출 : 수혜기관은 지원기간 종료 후 1개월 이내에 재단이 정한 서식을 이용하여 수혜기관 회계 책임자의 회계보고서가 첨부된 사업결과보고서를

[r]

 대량의 문자열을 사용하는 프로그램은 리소스에 문자열을 정의해 놓고, 필요할 때마다 리소스 의 문자열을 읽어와

 ms가 소유하고 있는 객체의 마방짂 차수가 유효하면 TRUE, 아니면 FALSE를 얻는다..

그늘 에 주차된 자동차의 온도와 햇빛이 비치는 곳에 주차된 자동차의 온도가 다르다.. 불과 가까운 쪽에서 불에서 먼