부르트포스 3

[백준] 단어나누기(1251) - python

문제알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다.먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다. 각각은 적어도 길이가 1 이상인 단어여야 한다. 이제 이렇게 나눈 세 개의 작은 단어들을 앞뒤를 뒤집고, 이를 다시 원래의 순서대로 합친다.예를 들어,단어 : arrested세 단어로 나누기 : ar / rest / ed각각 뒤집기 : ra / tser / de합치기 : ratserde단어가 주어지면, 이렇게 만들 수 있는 단어 중에서 사전순으로 가장 앞서는 단어를 출력하는 프로그램을 작성하시오.입력첫째 줄에 영어 소문자로 된 단어가 주어진다. 길이는 3 이상 50 이하이다.출력첫째 줄에 구하고자 하는 단어를 출..

[백준]/python 2025.01.10

[백준] 블랙 프라이데이(18114) - python

문제서강 백화점이 블랙 프라이데이를 맞아서 특별 이벤트를 진행한다. 백화점에서 제시하는 양의 정수의 무게 C에 딱 맞게 물건들을 가져오면 전부 만 원에 판매하는 이벤트이다.선택할 수 있는 물건은 최대 3개까지이고, 같은 물건을 중복 선택하는 것은 불가능하다. 그리고 백화점에서 판매하는 물건들의 무게는 모두 다르다.예를 들어, 백화점에서 판매하고 있는 물건 5개의 무게가 각각 1, 2, 3, 4, 5일 때, C가 5라면 {2, 3} 또는 {5}에 해당하는 물건의 조합을 만 원에 구매할 수 있다.판매하는 물건 N개의 양의 정수의 무게가 각각 주어질 때, 만 원에 구매할 수 있는 조합이 있는지 출력하라.입력첫 번째 줄에 물건의 개수 N과 제시하는 무게 C가 공백으로 구분되어 주어진다. (1 ≤ N ≤ 5,00..

[백준]/python 2025.01.09

[백준] 대표 자연수(2548) - python

- 시간 초과import sysinput = sys.stdin.readlinen = int(input())num = map(int, input().split())total = 0tmp = []num = list(num)answer = []for i in range(n): for j in range(n): total += abs(num[i] - num[j]) tmp.append(total) total = 0 for i in range(len(tmp)): if tmp[i] == min(tmp): answer.append(num[i])print(min(answer)) 이렇게 풀면 바보  모든 값을 계산할 필요가 없음. 차이를 최소로 하려면 중앙값을 골라야한다..

[백준]/python 2025.01.07