브루트포스

Programming/Coding Problem

BOJ 1436번: 영화감독 숌

핵심 포인트 브루트포스 제출코드 N = int(input()) cnt = 0 number = 666 while cnt != N: if '666' in str(number): cnt += 1 number += 1 print(number - 1) 해설 오늘은 브루트포스 문제 입니다. 브루트포스에 대한 자세한 설명은 지난 포스팅의 BOJ 2798번: 블랙잭을 참고해주시길 바랍니다. 문제를 보면 666이라는 숫자만 들어가면 종말의 수라고 판단되기 때문에 666부터 시작해서 숫자를 1씩 올리면서 666이 포함되어 있으면 cnt를 1 증가시키고 아니면 증가시키지않는 방식으로 전수탐색을 진행하면 됩니다. 코딩을 편하게 하기 위해 현재 숫자를 문자열로 바꾼 뒤 in 함수를 사용해서 해당 '666' 문자열이 현재 숫자에..

Programming/Coding Problem

BOJ 19532번: 수학은 비대면강의입니다

핵심 포인트 브루트포스 제출코드 a, b, c, d, e, f = map(int, input().split()) flag = 0 for x in range(-999, 1000): for y in range(-999, 1000): if a * x + b * y == c and d * x + e * y == f: print(x, y) flag = 1 break if flag: break 해설 오늘은 브루트포스 문제 입니다. 브루트포스에 대한 자세한 설명은 지난 포스팅의 BOJ 2798번: 블랙잭을 참고해주시길 바랍니다. 브루트포스의 기본은 저희가 답을 탐색할 범위를 정하는 것 입니다. 문제를 보면 연립방정식의 계수가 주어집니다. 그리고 해가 유일하다는 점과 해의 범위가 -999 ~ 999로 한정되어있다는 점..

Programming/Coding Problem

BOJ 1018번 : 체스판 다시 칠하기

안녕하세요. 지난 포스팅의 BOJ 7568번 : 덩치에서는 브루트포스 알고리즘을 이용해서 간단하게 문제를 풀어보았습니다. 오늘은 살짝 꼬아서 어려운 문제를 풀어보도록 하죠. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 브루트포스 제출 코드 N, M = map(int, input().split()) board = [input() for _ in range(N)] cnt_min = 9999 min_x, min_y = 9999, 9999 for x in range(0, N - 8 + 1) : for y in range(0, M - 8 + 1) : cnt_W, cnt_B = 0, 0 for i in range(8) : for j in range..

Programming/Coding Problem

BOJ 7568번 : 덩치

안녕하세요. 지난 포스팅의 BOJ 2231번 : 분해합에서는 입력된 숫자의 생성자의 개수를 찾는 문제를 풀어보았습니다. 오늘도 브루트포스를 활용한 쉬운 문제를 풀어보도록 하겠습니다. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 브루트포스 제출 코드 N = int(input()) spec = [tuple(map(int, input().split())) for _ in range(N)] for weight1, height1 in spec : cnt = 1 for weight2, height2 in spec : if (weight2 > weight1) and (height2 > height1) : cnt += 1 print(cnt) 해설 문제..

Programming/Coding Problem

BOJ 2231번 : 분해합

안녕하세요. 지난 포스팅의 BOJ 2798번 : 블랙잭에서는 브루트포스 알고리즘에 대한 간단한 설명과 함께 문제를 파이썬의 itertools 클래스를 이용해서 문제를 풀어보았습니다. 오늘도 브루트포스와 관련된 문제를 풀어보도록 하죠. 완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다. 핵심 포인트 브루트포스 제출 코드 N = int(input()) flag = 0 for i in range(1, 1000001) : temp = i sum = temp while temp != 0 : sum += temp % 10 temp //= 10 if sum == N : flag = 1 print(i) break if flag == 0 : print(0) 해설 이 문제는..

Johns Hohns
'브루트포스' 태그의 글 목록