알고리즘 110

[Python][SWEA] 9280. 진용이네 주차타워 D3

SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 🗒️ 파이썬 코드 풀이from collections import dequeT = int(input())for test_case in range(1, T + 1): n, m = list(map(int, input().split())) R_i = [int(input()) for _ in range(n)] W_i = [int(input()) for _ in range(m)] order_lst = [int(input()) for _ in range(m*2)] use_lst = [0] * n # 주차 사용가능 여부 wait_lst = dequ..

[Python][SWEA] 3307. 최장 증가 부분 수열 D3

SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com 🗒️ 파이썬 코드 풀이T = int(input())for tc in range(1,T+1) : N = int(input()) lst = list(map(int,input().split())) dp_lst = [1] * N # dp 1차원 행렬 생성 for i in range(len(dp_lst)) : # dp 리스트의 값을 채워주기 위한 반복문 for j in range(i) : # dp 현재 인덱스 바로 전 까지 반복문 if lst[i] >= lst[j] : # lst의 현재값이 lst의 이전 값보다 큰 경..

[Python][SWEA] 1873. 상호의 배틀필드 D3

SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com🗒️ 파이썬 코드 풀이from collections import dequeT = int(input())for tc in range(1,T+1) : H,W = list(map(int,input().split())) # 높이,너비 lst = [list(input()) for _ in range(H)] # 지도 length = int(input()) q = deque(input()) # 방향 딕셔너리 형태로 dict = {"^" : (-1,0), "v" : (1,0), "" : (0,1)} ..

[Python][SWEA] 3282. 0/1 Knapsack D3

SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com🗒️파이썬 코드 풀이def dp(N,K) : dp_lst = [[0] * (K+1 ) for _ in range(N+1)] # dp 2차원 행령 for n in range(N+1): # 최대 개수와 최대 부피로 이뤄진 2차원 행렬 for k in range(K+1): if n==0 or k==0 : dp_lst[n][k] == 0 elif V_lst[n-1]  1. N의 범위가 100이하로 DP를 생각해준다.  2. 2차원 리스트에서 행은 N(물건 개수) 열은 K(물건 부피..

[Python][SWEA] 6190. 정곤이의 단조 증가하는 수 D3

SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com🗒️ 파이썬 코드 풀이def danjo(m_ls) : for i in range(1,len(m_ls)) : if m_ls[i]  1. 2중 반복문을 이용해서 리스트에 값들을 2개씩 곱하고 mul_lst에 붙여넣는다. 2. mul_lst의 값들을 하나씩 문자열로 바꿔 함수에 파라미터 값으로 넣는다. 그리고 단조 증가를 확인한다.(return을 이용하여 for문을 쉽게 빠져나오기 위해 함수를 만들었다.) 3. ans에 최대값을 갱신하여 답을 구한다.  📌 내가 작성한 코드from collections import dequeT = int(input..

[Python][SWEA] 1945. 간단한 소인수분해 D2

SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com🗒️ 파이썬 코드 풀이T = int(input())for test_case in range(1, T + 1): N = int(input()) lst = [2,3,5,7,11] cnts = [0] * 5 for i in range(5) : while N % lst[i] == 0 : cnts[i] += 1 N = N / lst[i] print(f"#{test_case} {' '.join(list(map(str,cnts)))}") 1. 소인수 리스트와 카운트를 해줄 리스트를 만들어준다. 2. ..

[Python][SWEA] 6808. 규영이와 인영이의 카드게임

SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com🗒️ 파이썬 코드 풀이def permutation() : # 인영이 카드의 모든 조합을 인영이 카드와 비교 global cnt if len(card_lst) == 9 : sum = 0 for i in range(9): if lst_gu[i] > card_lst[i]: sum += (lst_gu[i] + card_lst[i]) if sum >= 86 : cnt += 1 break ..

[Python][SWEA] 1225. [S/W 문제해결 기본] 7일차 - 암호생성기 D3

SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com🗒️ 파이썬 코드 풀이from collections import dequefor tc in range(1,11) : N = int(input()) lst = list(map(int,input().split())) q = deque() # queue 자료 구조를 이용 for ls in lst : q.append(ls) cnt = 0 # 1~5씩 숫자를 높여가면서 queue에 뺄셈 while q[-1] : # Queue의 맨 마지막이 0이 되는 경우 종료 cnt += 1 ..

[Python][SWEA] 1240. [S/W 문제해결 응용] 1일차 - 단순 2진 암호코드 D3

SW Expert AcademySW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!swexpertacademy.com🗒️ 파이썬 코드 풀이#--------------------------------------------------------# 아이디어 정리# 0. 2진 코드 딕셔너리 형태로 생성# 1. 행의 합이 0인것 제외하고 0이 아닌 첫 행 추출 (for-if)# 2. 뒤에서 부터 1이 나오는 인덱스 위치부터 -56개까지 추출 (for)# 3. 56비트를 7비트씩 8개로 쪼개고, 딕셔너리에서 value값 추출 (for)# 4. 올바른 코드인지 체크 (for)#--------------------------------------------------------# 시간 복잡도 #..