6 : 브루트포스
이제 단계별로 게시물을 끊어야겠다
브루트포스 첫번째 블랙잭문제는 이전 포스터에 있으므로 그 다음 문제부터 진행하겠다.
2231 : 분해합
num = int(input())
BunHaeHap = 0 #분해합
for i in range(1,num+1):
con = list(map(int,str(i))) #i의 각자리수 리스트에 삽입
BunHaeHap = i + sum(con) # 분해합
if BunHaeHap == num :
print(i)
break
if i==num:
print(0)
부르트포스는 Brute Force 즉 그냥 무식하게 모든 케이스를 다 고려해보고 푸는 문제이므로 단순무식하게 접근하면된다.
배운점
con = list(map(int,str(i))) #i의 각자리수 리스트에 삽입
이 방식으로 숫자의 각요소별로 리스트를 작성할 수 있다.
이와 같이 말이다 !
1436 : 영화감독 슘
n = int(input())
count = 0
sixsixsix= 666
while True:
if '666' in str(sixsixsix):
count+=1
if count == n:
print(sixsixsix)
break
sixsixsix+=1
처음에는 666,1666,2666,3666,4666,5666,6666,7666 이 순으로 생각하고 풀어서 틀렸는데
다시 생각해보니 6666아래에 6660,6661,6662... 가 있다.
즉 순차적으로 666에 올라가면서 숫자를 붙으면서 접근하는게 아니라 666부터 올라가면서 문자열로 변형 후 안에 666이 포함되어 있다면 count를 올리는 방식으로 접근하여 count 와 n이 동일하게 된다면 sixsixsix변수를 출력하게 했다.
7568 : 덩치
test = int(input())
arr = []
for i in range(test):
x, y = map(int,input().split())
arr.append((x,y))
for i in arr: #리스트 직접접근
count = 0
for j in arr:
if i[0]<j[0] and i[1] < j[1]:
count+=1
print(count+1,end =' ')
리스트로의 직접접근,,,을 익히자,,,아자아자,,,, 힝 ,,,.
# for i in range(num):
# x, y = map(int,input().split())
# all_list[i][0] = x
# all_list[i][1] = y
# for i in range(num):
# count = 0
# for j in range(num):
# if all_list[i][0]<all_list[j][0] and all_list[i][1]<all_list[j][1] :
# count += 1
# print(count+1,end=' ')
이 코드는 왜 안될까 젠쟝 ...
Author And Source
이 문제에 관하여(6 : 브루트포스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@seochan99/백준-6-브루트포스저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)