목록CodingTestTraining (34)
승쨩개발공부

이것도 굉장히 쉽다 push를뺴고 나머지를 다 출력하면 된다.

내가 국어능력이 딸리는건지 문제 이해만 30분이 넘게 걸린것같다. 탑엔 몇번쨰 탑인지, 높이가 얼마인지 있어야하는데 왼쪽으로 레이저를 쏴서 충돌한 첫번쨰 인덱스를 출력하면 된다.그림으로 설명하자면이런 그림이 나온다. 탑의 인덱스는 500,000까지 높이는 100,000,000까지 있어서 속도를 빠르게 풀어야할 것 같았다.제한시간 1.5초삽입 삭제가 O(1)인 스택을 활용했다.하지만 자꾸 시간 초과가뜨는데..cin.tie(0)과 ios_base를 넣어주니 통과가됬다..백준은 시간이 부족하다면 저것들과 endl사용을 지양해야할것같다..

굉장히 easy한 문제다 스택의 특성을 그대로 이용하면된다.STL로 사용해도 되지만 내가 구현한 스택으로 해도 무관하다.하지만 empty()조건을 잘 이용해야한다.

푸는방법은 여러가지가있다. 공식은 그림을 그려보면 쉬운데입력예제와 같을경우 저 순서대로 출력이 되면 된다. FIFO구조인 큐를 사용하면 간단하게 처리가 가능하다K - 1번을 출력후 삭제해주면된다.

임의의 위치에 삽입/삭제를 해야한다.배열형 자료구조는 원소 접근은 O(1)이지만 임의의 원소 삽입 삭제가 O(N)이다노드형 자료구조는 원소 접근은 O(N)이지만 원소의 삽입 삭제는 O(1)이다시간제한이 0.3초이니 노드형 자료구조를 사용해야겠다.

두가지 방법이있다.String으로 a*b*c를 각 인덱스마다 숫자 하나씩 자릿수를 받아오는 것.Array로 %10 해서 값을받아오고 / 10해서 자릿수를 줄이면서 자릿수를 받아오는 것. String 이 1,7,0,3,7,3,0,0 일때 Arr가 3,1,0,2,0,0,0,2,0,0 이 되어야 하는데.숫자만들어가니 아스키코드 값인 '0' = 48을 뺴개되면 현재 String[0] = 1('1' = 49)이니까49 - 48을하고 해당 1번 인덱스를 증가시키면 될것같다.