ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스택과 문제들 풀면서 얻은..
    자료구조와 알고리즘/알고리즘 2023. 4. 5. 14:07

     

    스택과 관련 문제들을 풀어보았다.

     

    문제를 풀면서 얻은 점들 한눈에 볼 수 있도록 정리하려고 작성했다.

     

    스택은 LIFO구조. 저장된 데이터의 마지막 값이 의미있는 경우에 사용하면 편하다! 

     

     

    -얻은점 

     

    >테스트케이스 주어질때는 바로 입출력하는 방식이 좋다.

     

    --단어 뒤집기 1,2 ★---

    >문자열 다룰 때 자바 eof (입력,파일 스트림으로부터 모두 읽기)

      while((input=readLine()) !=null)

      while((input=read()) !=-1)

      while(scanner.hasNext()) 

     

    > 문자열을 중심으로 입력을 받고 char[]로 변환해서 사용하는 것이 훨씬 편한듯하다.

    read() --쪼끔구리다 

    readLine() 개행무시 - char[] 다룰때 필요하다면 미리 추가해두자.

     

    > 스택에 있는 값 모두 빼기 

    while (!Sstack.empty()) { bw.write((char) Sstack.pop());

    ----------------------------

     

    --★괄호문제--

    > 중첩 반복문 구조에서 내부 반복문을 break하면서, 외부 반복문을 continue해야하는 너낌을 줘야할 때

      따로 메서드로 빼서 값을 return해주는 방법을 생각해보자.. 

    -----------------

     

    --★스택수열---

    > 원하는 내용을 출력하고 바로 return갈기는 것도 좋다. (main 강제종료)

     

    > 바로 종료할 코드만 else if문으로 묶고, 특별한 상황이 아니면 반복할 코드는 따로 빼두는 것이 훨  간결 

    (무엇을 if로 묶느냐에 따라 코드 간결성이 달라질 수 있다.)

     

    > 반복문 쓸 때 너무 생각없이 쓰는 경우가 왕왕 있다 조심하자

       i<n (반복문 안에서 i~n-1까지 n포함x i == n이되며 끝)

       i<= n(반복문 안에서 i~n까지 포함 i==n+1이되며 끝)

    -------------------

     

    ---에디터 문제---

    >저장된 값 중에 마지막 값이 의미있는 겨우 에는 확실히 스택을 쓰는게 좋다

     

    > "메뉴 value" 메뉴일 때 value를 어떻게 해라~ 등 두가지를 한 줄에 입력 받을 때

    split(" ")도 괜찮지만,,

    input.charAt(input.indexOf(' ')+1)라던지 혹은 substring + indexOf 사용하는 방법도 좋다.

     

    > 스택 뒤집고 뒤집기 1 pop - 2 push - 2 pop 1을 2에 pop하고 2를 pop하면, 원래대로.. 반대의 반대랄까 

     ---------------------

     

    ---큐구현----------

    >큐는 FIFO구조이다.  스택과 반대로 순서를 의미할 때 사용한다.  <-pop 1,2,3 <-push

    >[begin, end)를 이용해서 큐를 배열로 구현할 수 있다.

    >하나의 큐 연산의 시간복잡도는 1이다.

    ----------------------

     

    -----요세푸스 수열---

    > 일정한 규칙을 가지고 배열을 순회시키기 (배열길이 n, 규칙 k, i는 증가연산)

       k = (k*i) % n 

    ->k가 배열길이보다 작으면, 배열 안에서 순환 -> k에서 배열 길이만큼 나눈(차감) 나머지 만큼 순환

    -> 단 나누어 떨어져서 0이되는 경우 k는 맨처음이 아니라 , 배열의 마지막인 것으로 조정할 필요있음  

    -----------------------------

    '자료구조와 알고리즘 > 알고리즘' 카테고리의 다른 글

    프코전-자바편 1~2장  (0) 2023.03.30
Designed by Tistory.