Python_알고리즘/Silver III
-
1788. [Python]피보나치 수의 확장Python_알고리즘/Silver III 2023. 4. 19. 01:43
1. 문제 https://www.acmicpc.net/problem/1788 1788번: 피보나치 수의 확장 첫째 줄에 F(n)이 양수이면 1, 0이면 0, 음수이면 -1을 출력한다. 둘째 줄에는 F(n)의 절댓값을 출력한다. 이 수가 충분히 커질 수 있으므로, 절댓값을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 다이나믹 프로그래밍 3. 파이썬 코드 def fibonacci(num): # 양수일때 피보나치 리스트 dp = [0, 1] # 음수일 경우 피보나치 리스트 dp_ma = [0, 1, -1] # 음수에서 절대값 구하기 위해서 사용되는 변수 check = 0 # n 값이 1000000을 넘지 않는다 했..
-
1515. [Python]수 이어 쓰기Python_알고리즘/Silver III 2023. 4. 14. 00:21
1. 문제 https://www.acmicpc.net/problem/1515 1515번: 수 이어 쓰기 세준이는 1부터 N까지 모든 수를 차례대로 공백없이 한 줄에 다 썼다. 그리고 나서, 세준이가 저녁을 먹으러 나간 사이에 다솜이는 세준이가 쓴 수에서 마음에 드는 몇 개의 숫자를 지웠다. 세준 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 브루트 포스 3. 파이썬 코드 answer = input() # 1부터 ~ N 까지 값 변수 cnt = 1 # 리스트 인덱스 index = 0 # 언제까지 반복할지 모르기때문에 while while True: # 10 이상일 경우 자리수마다 나눠서 값을 비교해야기 때문에 if cnt >= 10: # 두자리 수 이상일 경우 각 ..
-
14425. [Python]문자열 집합Python_알고리즘/Silver III 2023. 3. 1. 00:15
1. 문제 https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 1536MB 탐색 3. 파이썬 코드 import sys input = sys.stdin.readline N,M = map(int,input().split()) # 갯수 세는 변수 cnt = 0 # 체크할 리스트 check_list = [] # 단어 저장리스트 word_list= [] for _ in rang..
-
2108. [Python]통계학Python_알고리즘/Silver III 2023. 2. 25. 00:14
1. 문제 https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 256MB 구현 정렬 3. 파이썬 코드 import sys input = sys.stdin.readline N = int(input()) # sys.maxsize 사용할 경우 python 에서 낼 수 있는 최대값을 불러올 수 있다고 한다. min_value = sys.maxsize max_value = -sys.maxsize # 모든 값들을 더해줄 변수..
-
1463. [Python]1로 만들기Python_알고리즘/Silver III 2023. 2. 11. 22:51
1. 문제 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 2. 접근 방법 시간 제한: 0.15초 (python 3 => 1.5초) 메모리 제한: 128MB DP(Dynamic Programming) 3. 파이썬 코드 def answer(num): # 0, 1 인 경우는 count 되는 값이 없어서 0 # 2, 3 인 경우는 한번씩 나누는 값 1이다. # 외의 10^6 까지 값이 존재하므로 10^6+1 갯수 리스트 생성 num_list = [0,0,1,1] + [0]*(10**6-2) # 4부터 시작하는 반복문 생셩 for i in range(4, 10**6..
-
2579. [Python]계단 오르기Python_알고리즘/Silver III 2023. 2. 6. 01:21
1. 문제 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 규칙 파악 DP 3. 파이썬 코드 N = int(input()) # 계단의 값 리스트 배열 생성 work_list = [0] # 각 계단의 최대값 저장 배열 생성 max_list = [0]*301 # 계단의 값 추가 for _ in range(N): work_list.append(int(input())) # 계단의 최대 칸 수만큼 반복문 시..
-
17413. [Python]단어 뒤집기 2Python_알고리즘/Silver III 2023. 2. 5. 00:27
1. 문제 https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 512MB 스택(원래라면) 문자열 3. 파이썬 코드 word = input() # 단어들을 문자열 합칠 변수 words = "" # 거꾸로된 단어를 합칠 변수 reverse_word = "" # 태그들을 담을 변수 tag = "" # 태그인지 판단할 변수 check = 0 # 모든 값들들을 담을 리스트 wo..