본문 바로가기

알고리즘4

연속 부분 수열 합의 개수 (파이썬) https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 첫 접근 방법## 시간초과 코드def solution(elements): lst = [] elen = len(elements) elements += elements for i in range(elen): for j in range(elen): tmp = 0 for k in range(i, j + i + 1): .. 2024. 10. 15.
백준 20920 영단어 암기는 어려워 파이썬 https://www.acmicpc.net/problem/20920  문제핵심단어를 여러 개 입력받은 후 3가지 조건으로 정렬을 하면 되는 문제이다.1. 단어의 빈도수2. 단어의 길이3. 단어의 알파벳 사전순서 문제에서 다중조건의 정렬이 있다면 dictionary와 lambda를 이용해서 풀면 효과적이라는 것을 생각하자! 코드import sysinput = sys.stdin.readlineN, M = map(int, input().split())d = {}for _ in range(N): word = input().rstrip() if len(word)  여기서 x[1]은 dic에서 value인 단어빈도수이며, x[0]은 key인 단어 그 자체이다.따라서-x[1] : 단어 빈도수 순서 .. 2024. 8. 26.
백준 10250 파이썬 https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 코드 a = int(input()) for i in range(a): h, w, n = list(map(int,input().split())) floor = n%h num = n//h+1 if n%h == 0: floor = h num = n//h print(floor*100 + num) 풀이 층과 호실을 구하는 건 쉽게 구할 수 있을 것이다. 하지만 n % h == 0 일 때 층과 .. 2022. 5. 15.
20210620#(43) 백준 1463 1로 만들기(다이나믹 프로그래밍) https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net #1 메모리200680kb 시간168ms N=int(input()) dp=[0,0,1,1] for i in range(4,N+1): dp.append(dp[i-1]+1) if i%2 == 0: dp[i]=min(dp[i//2]+1,dp[i]) if i%3 == 0: dp[i]=min(dp[i//3]+1,dp[i]) print(dp[N]) #2 메모리133180kb 시간128ms N=int(input()) dp=[0 for _ in range(N+1)] for i in range(2,N+1): dp[i]=dp[i.. 2021. 6. 20.