본문 바로가기
반응형

백준알고리즘/브루트 포스19

(Python/🥉1)백준알고리즘 10448번: 유레카 이론 문제 바로가기 문제: 삼각수 Tn(n ≥ 1)는 [그림]에서와 같이 기하학적으로 일정한 모양의 규칙을 갖는 점들의 모음으로 표현될 수 있다. 자연수 n에 대해 n ≥ 1의 삼각수 Tn는 명백한 공식이 있다. Tn = 1 + 2 + 3 + ... + n = n(n+1)/2 1796년, 가우스는 모든 자연수가 최대 3개의 삼각수의 합으로 표현될 수 있다고 증명하였다. 예를 들어, 4 = T1 + T2 5 = T1 + T1 + T2 6 = T2 + T2 or 6 = T3 10 = T1 + T2 + T3 or 10 = T4 이 결과는 증명을 기념하기 위해 그의 다이어리에 “Eureka! num = Δ + Δ + Δ” 라고 적은것에서 유레카 이론으로 알려졌다. 꿍은 몇몇 자연수가 정확히 3개의 삼각수의 합으로 표.. 2023. 6. 20.
(Python/🥉1)백준 알고리즘 2309번: 일곱 난쟁이 문제 출처: https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 풀이: import sys from itertools import combinations sys.stdin = open('/Users/song/Desktop/Python/Python/h.txt', 'r') lst = [] for i in range(9): lst.append(int(input())) res = [] for i in list(combinations(lst, 7)): if sum(.. 2023. 3. 22.
(Python/🥈5)백준 알고리즘 1436버니 영화감독 숌 문제 출처:https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 풀이: N = int(input()) fix = 666 # 연속된 수 666 while True: # N 이 0이 아니면 계속 반복 if '666' in str(fix): # 만약 666이란 문자열이 있으면 N = N-1 # 카운트 감소 if N == 0: # 만약 N 이 0이면 break # while문 탈출 후 출력. fix = fix + 1 # fix의 값을 1 증가시킨다. pr.. 2022. 5. 23.
(Python/🥈5)백준 알고리즘 1018번 체스판 다시 칠하기 문제 풀이:https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 풀이: (N,M) = map(int,(input().split())) # print(N,M) chess = [] # 체스판 new = [] # count 해야할 갯수 for i in range (N): # 8x8짜리 chess 체스판 만들기 x = input() chess.append(x) # M,N 이 8 이상일 경우 for i in range(N-7): # 8*8 자르기위해 .. 2022. 5. 23.
(Python/🥈5)백준 알고리즘 7568번: 덩치 문제 출처:https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 풀이: n = int(input()) list = list() for i in range(1,n+1): x,y = map(int,(input().split())) list.append((x,y)) # 몸무게와 키 리스트에 넣어줌 for i in list: # 리스트에서 뽑음 rank = 1 for j in list: if i[0] < j[0] and i[1] < j[1]: .. 2022. 5. 21.
(Python/🥉2)백준 알고리즘 2231번: 분해합 문제 출처:https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 풀이: n = int(input()) res = 0 # 결과값 for i in range(1,n+1): # 1부터 받은 숫자까지 범위 설정 N = sum(list(map(int,str(i)))) # 각 자릿수 합 a = i+N # 생성자 구하기 if(a == n): # 받은 값과 생성자가 같을떄 res = i # 결과값 설정 break # 포문 탈출 prin.. 2022. 5. 21.
반응형