본문 바로가기
728x90

TIL - 프로그래밍/Python 알고리즘198

[백준] 2164. 카드2 - Python https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 코드 from collections import deque # N장의 카드, 카드 번호 1~N N = int(input()) cards = [i for i in range(1,N+1)] card = deque(cards) # 1장이 남을 때까지 while len(card) > 1: # 맨 윗장 버리기 card.popleft() # 맨 윗장을 맨 뒤로 보내기 card.rotate(-1) print(.. 2022. 6. 9.
[백준] 1920. 수 찾기 - Python https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 코드 N = int(input()) # 시간 초과 때문에 list -> set A = set(input().split()) M = int(input()) arr = input().split() for i in arr: if i in A: print(1) else: print(0) 시간초과 해결 list -> set 2022. 6. 9.
[백준] 1085. 직사각형에서 탈출 - Python https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net 코드 # 현 위치 (x,y) # 직사각형 : (0,0)~(w,h) x,y,w,h = map(int,input().split()) # 경계선까지 가로 최소 길이 x_min = min(x,w-x) # 경계선까지 세로 최소 길이 y_min = min(y,h-y) # 가로 세로 중 최소 길이가 답 result = min(x_min,y_min) print(result) 2022. 6. 9.
[백준] 1759. 암호 만들기 - Python https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 코드1 - count from itertools import combinations # 암호의 길이 L, 암호로 사용했을 법함 문자의 종류 C L, C = map(int,input().split()) word = list(input().split()) # 암호 문자 증가하는 순서로 배열 # 문자도 .sort()하면 오름차순으로 정렬!! word.sort() # L개씩 조합으로 뽑기 for i in co.. 2022. 6. 9.
[프로그래머스] Lv.1 예산 - Python https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 코드 def solution(d, budget): answer = 0 # 최대한 많은 부서의 물품을 구매 -> 신청 금액이 낮은 부서부터 지원 # 지원금액을 오름차순으로 정렬 d.sort() for i in d: # 이 부서를 지원해도 되는가? == 이 부서를 지원해줘도 예산이 남는가? if budget - i >= 0: budget -= i answer += 1 .. 2022. 6. 9.
[프로그래머스] Lv.1 소수 만들기 - Python https://programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 코드1 from itertools import combinations # 소수 확인 def prime(sum): for i in range(2,sum): # 하나라도 나누어 떨어지면 소수 아님 if not sum%i: return False # 2~(자기자신-1) 중 하나라도 나누어 떨어지지 않으면 소수 return True def solut.. 2022. 6. 9.
반응형