728x90 TIL - 프로그래밍/Python 알고리즘198 [백준] 4949. 균형잡힌 세상 - Python https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net 생각 모든 걸 다 돌리면 시간 초과가 나지 않을까 해서 괄호만 남기고 돌리기로 결정 re.sub(a,b,word) : word의 a를 모두 b로 바꾸기 replace 여러개 해야하나 했는데 편했다. 다른 사람 코드 보니 모든 걸 돌려도 됨... 그래도 시간 줄였다. 괄호 짝 확인 여는 괄호면 스택에 넣고 닫는 괄호인데 짝이 맞으면 팝 코드 from sys import stdi.. 2022. 6. 13. [백준] 7586. 덩치 - Python https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 코드 # 자신보다 덩치가 큰(키도 크고, 몸무게도 많은) 사람 수 +1 == 덩치 등수 # 전체 사람 수 N = int(input()) people = [list(map(int,input().split())) for _ in range(N)] result = [1]*N # 덩치 비교 (덩치가 작은 사람 등수 +1) for i in range(N-1): for j in range(i+1.. 2022. 6. 12. [백준] 11723. 집합 - Python https://www.acmicpc.net/problem/11723 11723번: 집합 첫째 줄에 수행해야 하는 연산의 수 M (1 ≤ M ≤ 3,000,000)이 주어진다. 둘째 줄부터 M개의 줄에 수행해야 하는 연산이 한 줄에 하나씩 주어진다. www.acmicpc.net 생각 시간초과가 계속 난 문제.. sys, pypy, 조건 합치기 추가 조건: add, toggle일 때 요소가 없다면 삭제 조건: remove, toggle일 때 요소가 있다면 keyError가 남 원인 : set.remove(x)를 실행할 때 set에 x가 존재하지 않음 해결 : remove 대신 discard 코드 from sys import stdin # 수행해야 하는 연산의 수 M = int(input()) S = set(.. 2022. 6. 12. [백준] 1764. 듣보잡 - Python https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 시간 import 사용 코드 시간이 30배이상 걸렸다... 시간이 오래 걸려도 통과는 한다. sys.stdin을 쓰도록 습관을 들여야겠다. 코드1 - import # 듣도 못한 사람 N, 보도 못한 사람 M N,M = map(int,input().split()) nohear = set(input() for _ in range(N)) nosee = set(input() for _ in range(.. 2022. 6. 11. [백준] 10773. 제로 - Python https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 코드1 - import # 정수 K개 K = int(input()) num = [] for _ in range(K): n = int(input()) # 0이 아니면 넣고 if n != 0: num.append(n) # 0이면 직전에 넣은 거 버리김 else: num.pop() print(sum(num)) 코드2 - sys from sys import stdin K.. 2022. 6. 10. [백준] 2839. 설탕 배달 - Python https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 코드1 최대한 적은 수의 봉지 배달해야 하니 5킬로그램 봉지 많이! # 설탕 3킬로그램 봉지, 5킬로그램 봉지 # 배달 N킬로그램 N = int(input()) result = 0 while N > 0: # 5의 배수면 설탕 봉지 수 계산 끝 if N%5 == 0: result += N/5 break # 5의 배수 아니면 3킬로그램 설탕 else: N -= 3 result += 1 # 만약 음수면 실패 if.. 2022. 6. 9. 이전 1 ··· 14 15 16 17 18 19 20 ··· 33 다음 반응형