목록python (59)
rueki
https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 이번 문제는 스택을 이용하면 풀기 쉽다. 예제 1번에서 3, 5, 2 ,7의 수열로 예시를 들어보자. 처음의 경우에는 비교할 대상이 없기때문에 스택에 숫자의 인덱스를 넣자 - 스택 : [0, ] 그 다음은 이제 5인데(현재 인덱스는 1) 스택 인덱스에 해당되는 배열 수의 값이 현재 숫자보다 크면 결과 리스트에 집어 넣는다. (오른쪽에 있는 큰 수들 중에서 가장 왼쪽을 고르는 문제이기때문) - 결과 리스트 :..
https://www.acmicpc.net/problem/1940 1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net 투포인터를 사용하기 위해서 중요한 전제 조건이 있는데 이는 데이터들이 정렬되어 있다는 조건이다. 이번 문제에서는 포인터를 시작과 끝에 두고 두 포인터가 서로 겹쳐지나가기 전까지만 반복문을 수행하게 된다. 예제를 정렬하면 1, 2, 3 ,4, 5, 7이 된다. 1 + 7은 8이라 9보다 작기 때문에 숫자를 높은 것을 더해야 하기 때문에 앞 포인터를 증가시키고 만약 3+7의 ..
https://www.acmicpc.net/problem/2018 2018번: 수들의 합 5 어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한 www.acmicpc.net 1 ~ 15의 숫자에서 숫자의 합이 15가 되는 경우 count 하는 문제 - 시작 포인터와 끝 포인터를 여기서 첫 점에 설정 - 합이 15가 되는 경우 count ++, 끝 포인터는 한 칸 뒤로 보낸다.(이미 끝 포인터를 뒤로 보내면서 숫자들을 더했기 때문) ex) 1 + 2 + 3 + 4 + 5 는 15, sp = 1, ep = 5를 가리킨다 ex) 1 + 6 + 7 + ..
https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net from collections import deque #상우하좌 dx = [-1,0,1,0] dy = [0,1,0,-1] n = int(input()) k = int(input()) grid = [[0]*n for _ in range(n)] for _ in range(k): x1, y1 = map(int, input().split()) grid[x1-1][y1-1] = 1 L = int(input()) ..