Algogosu / algorithm-solving

알고리즘 문제풀기 스터디
0 stars 4 forks source link

Concat : Week 2 #11

Closed qus0in closed 1 month ago

qus0in commented 1 month ago

Leet Code 71. Simplify Path

  1. 입력받은 파일 경로를 StringTokenizer를 사용하여 "/"를 기준으로 토큰화하고, 경로를 저장할 스택을 생성합니다.
  2. 토큰화된 경로를 순회하면서 빈 문자열과 "."은 무시하고, ".."은 상위 디렉토리로 이동하며, 일반 디렉토리 또는 파일은 스택에 추가합니다.
  3. 스택이 비어있는 경우 루트 디렉토리 "/"를 반환하고, 그렇지 않은 경우 스택에 저장된 경로를 순서대로 이어붙여 최종 경로를 생성하여 반환합니다.

백준 라우터

  1. 큐의 최대 크기 N을 입력받고, ArrayDeque를 사용하여 큐를 생성합니다.
  2. 입력으로 주어지는 값에 따라 다음 작업을 수행합니다:
    • 0이 입력되면 큐에서 원소를 제거합니다.
    • -1이 입력되면 입력을 종료합니다.
    • 큐가 가득 차면 원소를 추가하지 않습니다.
    • 그 외의 경우, 큐에 원소를 추가합니다.
  3. 입력 처리가 끝난 후, 큐가 비어있으면 "empty"를 출력하고, 그렇지 않으면 큐의 원소를 공백으로 구분하여 출력합니다.

백준 요세푸스 문제

  1. 사람의 수 N과 제거할 순번 K를 입력받고, 1부터 N까지의 수를 ArrayDeque에 추가하여 원형 순열을 초기화합니다.
  2. 큐에서 사람을 하나씩 제거하면서, K번째 사람을 제거할 때마다 출력하고 제거한 사람의 수를 초기화합니다. K번째가 아닌 경우에는 제거한 사람을 다시 큐의 맨 뒤에 추가합니다.
  3. 큐가 빌 때까지 반복하여 요세푸스 순열을 계산하고, 결과를 "<"과 ">" 사이에 출력합니다.