java

쉽지만 어려운 #Java #자바 #성공적 4.자료구조(리스트,스택,큐,해쉬테이블,집합)큐&스택 예제

sieunju 2016. 5. 1. 01:49
반응형

안녕하세요 j.sieun 입니다. 


저번시간에 자료구조에 대해 배웠으니 실력을 상승할겸 문제 하나 풀어보도록 하겠습니다. 


미리 결과 화면을 보여드리겠습니다. 




위에 화면 같이 회문을 찾아내는 예제가 되겠습니다. 


여기서 회문이란 예를 들어 "" 라는 단어가 있습니다. 이떄 좌우 단어가 같으면 회문이 되겠습니다. 


이것을 큐와 스택을 이용하여 해결하시면 됩니다. 


힌트를 주자면 큐는 나중에 넣었던 값이 출력되고스택은 가장 먼저 넣었던 값을 출력합니다.


정답은 


하얀 글씨로 되어있습니다. 


import java.util.Iterator;

import java.util.LinkedList;

import java.util.Queue;

import java.util.Stack;



public class structureClass {


public static void main(String[] args) {

// TODO Auto-generated method stub

Queue <String> que = new LinkedList <String>();

Stack <String> stack = new Stack <String>();

String words[] = {"장발장","jsieun73","들판위에하","level","안녕하세요"};

char queS = 0;

System.out.println("큐 & 스택 예제 입니다. ");

for(int i = 0; i< 5; i++)

{

for(int j= 0 ; j<words[i].length(); j++)

{

queS = words[i].charAt(j);

que.offer(""+queS);

stack.push(""+queS);

}

for(int k=0; k<words[i].length(); k++)

{

if(que.remove().equals(stack.pop()) && k == words[i].length()-1)

{

System.out.println(words[i]+"\t : 회문");

}

else if(k== words[i].length()-1)

{

System.out.println(words[i]+"\t : 회문아님");

}

}

}


}



감사합니다. 


다음시간에도 자료구조 예제를 풀어보도록 하겠습니다.


(참고로 소스는 제가 직접 작성한것입니다. 물론 저게 완벽한 정답이다가 아닙니다. 결과하면만 제대로 출력만 되면 그게 정답입니다. :D)


※궁금하신거 댓글달아주시길 바랍니다. ㅎㅎ


퍼가시는건 상관 없는데 말은 하고 퍼가주시길 바랍니다.^^※



}




반응형