https://www.acmicpc.net/problem/10866 10866번: 덱첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지www.acmicpc.net앞뒤로 값을 수정할수 있 자료구조인 dqueue를 만들면 된다. 이때 앞에값 제거하거나 추가하면 시간이 많이 걸리니 index를 활용해 값을 제거or추가 하지 않고 공간을 이동해서 값을 제거하는 효과를 만들겠다. front로 dequeue의 가장앞이 어딘지 알려주고 end으로 가장 뒤가 어딘지 알려주겠다. 값을 넣으면 front자리에 값이 들어가고 front가 감소한거나 end자리에 값..
https://www.acmicpc.net/problem/1978 1978번: 소수 찾기첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.www.acmicpc.net소수란 자신과 1을 제외한 약수가 없는 수를 뜻한다. 그래서 간단히 어떤수를 1부터 어떤수까지 나눠보는 알고리즘을 만들면 된다.입력 : 1 3 5 81 : 소수가 아니다.3 : 1과 3만 약수이니 소수.5 : 1과 5만 약수이니 소수.8 : 1,2,4,8이 약수이니 소수가 아니다.출력값 : 2import sysN = int(sys.stdin.readline())numbers = list(map(int,sys.stdin.readline().split()))count = ..
https://www.acmicpc.net/problem/10845 10845번: 큐첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지www.acmicpc.netFirst in First out하는 자료구조인 queue를 만들면 된다. 이때 앞에값 제거하면 시간이 많이 걸리니 index를 활용해 값을 제거하지않고 공간을 이동해서 값을 제거하는 효과를 만들겠다.입력 : push 1 push 2 front back size empty pop pop pop size empty pop push 3 empty front출력값 : 1 2 2 0 1 2 -..
https://www.acmicpc.net/problem/10828 10828번: 스택첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지www.acmicpc.netfirst in last out인 스택을 구현하면된다. 배열을 만들고 배열에서 값을 넣고 빼고 길이를 출력하면 된다.입력 : push 1 push 2 top size empty pop pop pop size empty pop push 3 empty top출력값 : 2 2 0 2 1 -1 0 1 -1 0 3import sysN = int(sys.stdin.readline())stack ..
https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B www.acmicpc.net시간제한이 0.15초로 기존 문제들에 비해 매우 짧은 것을 알수 있다. 따라서 이문제선 반복문을 사용할수 없다. 달팽이가 올라가는걸 다더하고 빼줄시간이 없다. 그래서 사칙연산을 사용한다. 이때 함정이 있는데 만약 V미터에 한번이라도 도달했으면 미끄러지지 않는다는 것이다. 그래서무작정 A-B한 값으로 V를 나누어 버리면 안된다. 이것에 대한 해결법은 V에서 먼저 A미터를 빼버리는 것이다. 그리고 남은 값을 A-B한 값으로 나눠 올림하고 1을 더하면된다. 1을 더하는 이유는 앞에서 V-A미터를 빼는것이 하..
https://www.acmicpc.net/problem/5430 5430번: AC각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다.www.acmicpc.netR이 입력되면 배열을 뒤집고 D가 입력되면 배열의 가장 앞에있는걸 삭제해야한다. 이걸 말그대로 뒤집어버리거나 배열의 앞칸을 지우게되면 말도안되는 시간이걸려 시간제한에 걸리게 될것이다. 따라서 index와 방향을 알려주는 direction 함수들을 사용했다. forntindex는 배열 맨 앞이 얼마나 지워졌는지 알려주고 backindex는 배열 맨뒤가 얼마나 지워졌는지 알려줄 것이다. direction은 배열을 뒤집었는지 뒤집지 않았는지를 알려줄 것이다. 이렇..