Python_알고리즘/Gold V
-
1490. [Python]자리수로 나누기Python_알고리즘/Gold V 2023. 11. 1. 00:59
1. 문제 https://www.acmicpc.net/problem/1490 1490번: 자리수로 나누기 첫째 줄에 어떤 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 브루트 포스 3. 파이썬 코드 import math # 숫자를 리스트로 받아옴 nums = list(map(int, input())) # 리스트 숫자를 합칠 변수 number = "" # 최소공배수를 구할 변수 answer = 1 # 리스트를 반복해가며 0이 아닌 값들의 최소공배수를 구하고 숫자를 합쳐줌 for i in nums: if i != 0: answer = math.lcm(answer, i) number += s..
-
1374. [Python]강의실Python_알고리즘/Gold V 2023. 10. 30. 00:49
1. 문제 https://www.acmicpc.net/problem/1374 1374번: 강의실 첫째 줄에 강의의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 줄마다 세 개의 정수가 주어지는데, 순서대로 강의 번호, 강의 시작 시간, 강의 종료 시간을 의미한다. 강의 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 우선순위 큐 정렬 3. 파이썬 코드 import heapq # 인풋 N = int(input()) # 리스트 저장할 리스트 num_list = [] # 강의실 번호 N 은 필요없으므로 시작과 끝값 리스트 저장 for _ in range(N): N, S, E = map(int,input().split()) num_l..
-
1245. [Python]농장 관리Python_알고리즘/Gold V 2023. 10. 21. 15:35
1. 문제 https://www.acmicpc.net/problem/1245 1245번: 농장 관리 첫째 줄에 정수 N(1 < N ≤ 100), M(1 < M ≤ 70)이 주어진다. 둘째 줄부터 N+1번째 줄까지 각 줄마다 격자의 높이를 의미하는 M개의 정수가 입력된다. 격자의 높이는 500보다 작거나 같은 음이 아닌 정수 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB BFS(너비 우선 탐색) 3. 파이썬 코드 from collections import deque from pprint import pprint # 8방향 탐색 direction = [(-1,-1), (-1,0), (-1,1), (0,-1), (0,1), (1,-1), (1,0), (1,1)] def..
-
7490. [Python]0 만들기Python_알고리즘/Gold V 2023. 10. 11. 01:07
1. 문제 https://www.acmicpc.net/problem/7490 7490번: 0 만들기 각 테스트 케이스에 대해 ASCII 순서에 따라 결과가 0이 되는 모든 수식을 출력한다. 각 테스트 케이스의 결과는 한 줄을 띄워 구분한다. www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 재귀 백트래킹 3. 파이썬 코드 # 연산 결과가 0인 값을 출력할 함수 def calculator(num): global ans # 연산을 진행할 변수 answer = "" # 정답을 출력할 변수 temp = "" # N값과 num이 같으면 if num == N: # 마지막 값을 리스트에 추가 ans.append(str(num)) # ans 값을 순회하며 for i in ans: ..
-
1759. [Python]암호 만들기Python_알고리즘/Gold V 2023. 10. 9. 18:30
1. 문제 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 백트래킹 브루트포스 3. 파이썬 코드 def find_list(num): global vowel_cnt global consonant global list_length # 리스트 길이가 채워야 하는 조건에 맞는 경우 if list_length == N: # num값이 끝값일 경우 if num == N-1: # 자음, 모음 체크를 못했기 때문에 각각 체크한 후 값 증가 if ans[-1] == "a" or ans[-1] == "e" or ans[-1] == "i" or ans[-1] == "o" or ans[-1] == "u": vowel_cnt += 1 elif ans[-1] != "a" and ans[-1] != "e" and ans..
-
1107. [Python]리모컨Python_알고리즘/Gold V 2023. 10. 2. 02:58
1. 문제 2. 접근 방법 시간 제한: 2초 메모리 제한: 256MB 브루트 포스 3. 파이썬 코드 # N 보다 커지는 경우의 값과 커지기 직전의 값을 찾는 함수 def make_perm(num): # ans_cnt 로 리스트 길이 체크 global ans_cnt # 리스트 길이가 2인 경우 함수 탈출 if ans_cnt == 2: return # num 매개변수가 N_length 와 같으면 문자열을 합쳐서 정수로 바꿔 서 answer 리스트에 추가 if num == N_length: checking = int("".join(ans)) # checking 값이 N 기준값보다 큰 경우 if checking >= N: answer.append(checking) ans_cnt += 1 # checking 값이..
-
15686. [Python]치킨 배달Python_알고리즘/Gold V 2023. 9. 22. 01:09
1. 문제 https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 512MB 구현 브루트 포스 3. 파이썬 코드 from itertools import combinations # 들어온 리스트들을 바탕으로 visited 값 갱신해주는 함수 def check_value(first_list, second_list): for i in first_list: for j in second_li..
-
7576. [Python]토마토Python_알고리즘/Gold V 2023. 9. 17. 16:36
1. 문제 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 2568MB BFS(너비 우선 탐색) 3. 파이썬 코드 from collections import deque def BFS(): # 요일 체크하는 변수 global day # matrix 좌표가 1인 값을 저장한 리스트 q while q: # q에서 값을 하나씩 빼주면서 check = q.popleft() # 방향배열 탐색..
-
1334. [Python]다음 팰린드롬Python_알고리즘/Gold V 2023. 9. 17. 16:19
1. 문제 https://www.acmicpc.net/problem/1334 1334번: 다음 팰린드롬 수 팰린드롬 수는 앞으로 읽어도, 뒤로 읽어도 같은 숫자이다. 101, 4, 6666와 같은 숫자는 팰린드롬 수이고, 10, 564, 15452와 같은 숫자는 아니다. 어떤 수 N이 주어질 때, N보다 큰 팰린드롬 수 중에서 가 www.acmicpc.net 2. 접근 방법 시간 제한: 2초 메모리 제한: 128MB 구현 3. 파이썬 코드 N = input() N = str(int(N) + 1) # N의 길이 변수에 저장 N_length = len(N) # N을 슬라이싱해서 변수에 저장할 변수 ans = "" # N의 길이가 짝수인 경우와 홀수인 경우 if len(N) % 2 == 0: # 중앙값과 중앙..
-
1038. [Python]감소하는 수Python_알고리즘/Gold V 2023. 9. 8. 16:42
1. 문제 https://www.acmicpc.net/problem/1038 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 백트래킹 브루트포스 3. 파이썬 코드 # 문자열 체크하는 함수 def checking(num, M): # 글로벌 문자 변수 선언 global check global cnt global ans # M 의 길이가 1로 끝일때 if M == 1: # 이전의 check 값과 num[0] 값의 크기를 비교해 작으면 cnt ..