백준 4949: 균형잡힌 세상 (파이썬) 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net # [BOJ] 4949. 균형잡힌 세상 OP = ['(', '['] CP = [')', ']'] while 1: S = input() if S == '.': break # 괄호가 아예 없는 경우 yes 처리 if '(' not in S and ')' not in S and '[' not in S and ']' not in S: print('yes') # 여기서부터 문제풀이 else: ans = 'ye..
백준 2217: 로프 (파이썬) 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net # [BOJ] 2217. 로프 2022-11-26 N = int(input()) a = 0 # 전체 로프를 작은 것부터 정렬 L = sorted(list(int(input()) for _ in range(N))) for _ in range(N): # 가장 작은 값을 전체 로프의 수 만큼 곱해 보고 현재 최대값보다 크면 닶 변경 aa = L[0] * len(L) if aa > a: a = aa # 0번째 인덱스 값을 없앰으..
백준 10989: 수 정렬하기 3 (파이썬) 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net # [BOJ] 10989. 수 정렬하기 3 import sys N = int(sys.stdin.readline()) C = [0] * 10001 for i in range(N): C[int(sys.stdin.readline())] += 1 for i in range(len(C)): if C[i] != 0: for _ in range(C[i]): print(i) 메모리초과 싫다
백준 11652: 카드 (파이썬) 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net # [BOJ] 11652. 카드 N = int(input()) D = {} L = [] for i in range(N): n = int(input()) if n in D: D[n] += 1 else: D[n] = 1 v = max(D.values()) for d in D: if D[d] == v: L.append(d) print(min(L)) 정렬 문제 정렬 안 쓰고 풀기
백준 1463. 1로 만들기 (파이썬) 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net import sys X = int(sys.stdin.readline()) L = [0] * (X + 1) for i in range(2, X + 1): if i % 2 == 0 and i % 3 == 0: L[i] = min(L[i - 1] + 1, L[i // 2] + 1, L[i // 3] + 1) elif i % 2 == 0: L[i] = min(L[i - 1] + 1, L[i // 2] + 1) elif i % 3 == 0: L[i] = min(L[i - 1] + 1, L[i // 3] + 1) else: L[i] = L[i - ..
백준 10026: 적록색약 (파이썬) 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net from collections import deque def bfs(): while q: a, b = q.popleft() for i in range(4): ni, nj = a + di[i], b + dj[i] if 0