백준- 9012,10866,1764

문딤·2022년 7월 19일
0

괄호

풀이 생각

  1. 스택 push,pop을 사용하면 금방하겠다.
  2. push('(') 넣어주고 , pop으로 빼줄 때 stack == null이면 Yes

소스코드

문자열을 그대로 받아오고 있는데, 왜 안되지 하면서 쪼개야된다는 생각을 못하고 있었다. 
메소드를 생성해서 따로 처리하고, for문안에서 한 줄로 돌려주는게 깔끔한 것 같다. 

알아볼 것

스택 문제

참고

https://st-lab.tistory.com/178

==========================================================================================================

https://www.acmicpc.net/problem/10866

해당 문제
push_front X: 정수 X를 덱의 앞에 넣는다.
push_back X: 정수 X를 덱의 뒤에 넣는다.
pop_front: 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다.
pop_back: 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다.
size: 덱에 들어있는 정수의 개수를 출력한다.
empty: 덱이 비어있으면 1을, 아니면 0을 출력한다.
front: 덱의 가장 앞에 있는 정수를 출력한다. 만약 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다.
back: 덱의 가장 뒤에 있는 정수를 출력한다. 만약 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다.

풀이 생각
1. switch문을 사용해서 해당 case일 때 deque안에 있는 메소드를 동작시켜야겠다.

소스코드

  1. 효율이 좋다는 arrayDeque 사용.
  2. 해당 case 별 메소드를 사용

알아볼 것

데큐의 동작원리(나머지를 이용한 자리찾기)

참고

==========================================================================================================

듣보잡

풀이 생각

  1. 배열에 문자열 넣고 비교해야겠다.
  2. 문자순서대로 뽑아야하니깐 Arrays.sort써야겠다.

소스코드

  1. HashSet 으로 혹시라도 들어갈 중복쳐내기
  2. ArrayList로 가변적으로 데이터 받고 set과 비교.
  3. 해당 list, set는 컬렉션 프레임워크 로부터 파생된 클래스이므로
    collection.sort 사용.

알아볼 것

배열 값 비교방법.

참고

https://velog.io/@yanghl98/%EB%B0%B1%EC%A4%80-1764-%EB%93%A3%EB%B3%B4%EC%9E%A1-JAVA%EC%9E%90%EB%B0%94

==========================================================================================================

profile
풀스택개발자가 될래요

0개의 댓글