반응형
타진
개발 그라운드
타진
전체 방문자
오늘
어제
  • 분류 전체보기 (136)
    • 프로그래밍 (65)
      • Java (28)
      • Android (1)
      • Web (19)
      • Web-Spring (12)
      • R (5)
      • Angular (0)
    • 운영체제 (17)
      • Linux (14)
      • Docker(vmware) (3)
    • 클라우드 (4)
      • aws (0)
      • aws_handson (4)
    • 개발문제해결 (25)
      • Exception (12)
      • 알고리즘 문제풀이 (13)
    • 그 외 개발관련 (23)
    • 일상 (1)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • transit gateway peering
  • chromium edge
  • alt tab
  • cfn
  • 문법 체크
  • 키보드매핑
  • 4700u
  • stackset
  • 빠른 시작 켜기
  • ubuntu terminal
  • 정올알고리즘 정올 알고리즘
  • Github CLI
  • GIT
  • docker ps
  • docker
  • github
  • vmmem
  • transit_gateway
  • wsl_update_x64
  • docker desktop
  • angular cli
  • 크로미움 엣지
  • 빠른 시작 끄기
  • 라이젠
  • jdk14
  • handson
  • wsl2
  • 일어키보드
  • AWS
  • github actions

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
타진

개발 그라운드

개발문제해결/알고리즘 문제풀이

백준 10866 - 덱

2018. 5. 7. 23:29
반응형


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.StringTokenizer;

public class Main2 {
static class Deque {
private int deque[];
private int end = 0;

public Deque(int num) {
deque = new int[num];
}

void push_front(int x) {
for (int i = end; i > 0; i--) {
deque[i] = deque[i - 1];
}
deque[0] = x;
end++;
}

void push_back(int x) {
deque[end] = x;
end++;
}

int pop_front() {
int returnValue = deque[0];
for (int i = 1; i < end; i++) {
deque[i - 1] = deque[i];
}
deque[end-1] = 0;
end--;
return returnValue;
}

int pop_back() {
int returnValue = deque[end - 1];
deque[end - 1] = 0;
end--;
return returnValue;
}

int size() {
return end;
}

int empty() {
return deque[0] != 0 ? 0 : 1;
}

int front() {
return deque[0] != 0 ? deque[0] : -1;
}

int back() {
if(end != 0) {
return deque[end - 1] != 0 ? deque[end - 1] : -1;
} else {
return -1;
}
}
}

public static void main(String[] args) throws IOException {

Scanner sc = new Scanner(System.in);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

int num = Integer.valueOf(sc.nextLine());

Deque deque = new Deque(num);
for (int i = 0; i < num; i++) {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
String comand = st.nextToken();
int value = 0;
if(st.hasMoreTokens()) {
value = Integer.parseInt(st.nextToken());
}
switch (comand) {
case "push_front":
deque.push_front(value);
break;
case "push_back":
deque.push_back(value);
break;
case "pop_front":
System.out.println(deque.pop_front());
break;
case "pop_back":
System.out.println(deque.pop_back());
break;
case "size":
System.out.println(deque.size());
break;
case "empty":
System.out.println(deque.empty());
break;
case "front":
System.out.println(deque.front());
break;
case "back":
System.out.println(deque.back());
break;
default:
System.out.println("Error");
break;
}
}
}
}



이 문제는 여기서 확인할 수 있습니다



테스트 잘 됩니다. 하지만..

백준에 제출하면 런타임 에러 뜨면서 안되는 코드입니다.


백준할 때 자주 겪는.. 테스트는 잘 되지만 정작 통과는 안되는..


혹은 제가 캐치하지 못한 에러가 있을 수도 있고요.



알고리즘을 공부했다는 점에 의미를 두며 기록해 둡니다.





반응형
저작자표시 비영리 변경금지

'개발문제해결 > 알고리즘 문제풀이' 카테고리의 다른 글

정올 알고리즘 - 1341 : 구구단2 python3  (1) 2020.06.28
백준 10845 - 큐  (0) 2018.05.02
백준 10799 - 쇠막대기  (0) 2018.05.01
    '개발문제해결/알고리즘 문제풀이' 카테고리의 다른 글
    • 정올 알고리즘 - 1856 : 숫자사각형2 python3
    • 정올 알고리즘 - 1341 : 구구단2 python3
    • 백준 10845 - 큐
    • 백준 10799 - 쇠막대기
    타진
    타진
    vulnerable1324@gmail.com

    티스토리툴바