Python_알고리즘/Gold V
-
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 ..
-
1083. [Python]소트Python_알고리즘/Gold V 2023. 9. 7. 01:48
1. 문제 https://www.acmicpc.net/problem/1083 1083번: 소트 크기가 N인 배열 A가 있다. 배열에 있는 모든 수는 서로 다르다. 이 배열을 소트할 때, 연속된 두 개의 원소만 교환할 수 있다. 그리고, 교환은 많아봐야 S번 할 수 있다. 이때, 소트한 결과가 사전 www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 128MB 그리디 알고리즘 정렬 3. 파이썬 코드 N = int(input()) num_list = list(map(int, input().split())) limit = int(input()) # 리스트 길이 체크 num_length = len(num_list) cnt = 0 # limit 으로 들어온 값이 0 보다 크고 cnt 값이..
-
5430. [Python]ACPython_알고리즘/Gold V 2023. 8. 8. 12:38
1. 문제 https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 2. 접근 방법 시간 제한: 1초 메모리 제한: 256MB 덱 파싱 3. 파이썬 코드 import sys from collections import deque # 많은 인풋 처리 input = sys.stdin.readline T = int(input()) for _ in range(T): # 명령어로 R or D 가 입력됨 command = input() # N 의 갯수만큼 리스트 인풋 N = int(input()) # deque 형태로 리..
-
2493. [Python]탑Python_알고리즘/Gold V 2023. 2. 6. 21:13
1. 문제 https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 2. 접근 방법 시간 제한: 1.5초 메모리 제한: 128MB 스택 3. 파이썬 코드 # 정답 코드 import sys input = sys.stdin.readline N = int(input()) # 타워들의 리스트를 받아옴 tower_list = list(map(int,input().split())) # 정답을 출력할 리스트 생성 ans_list = [0]*N # stack 리스트..