반응형

파이썬 / BOJ 백준 알고리즘 / 1476번 날짜 계산 - 브루트 포스

 

문제 풀이

- 지구를 나타내는 수, 태양을 나타내는 수, 달을 나타내는 수을 값을 1부터 하나씩 증가시킵니다. 

- 각각의 범위를 벗어나면 1부터 다시 시작합니다. 

- 지구를 나타내는 수, 태양을 나타내는 수, 달을 나타내는 수의 값과 입력한 세 값과 일치하는지 확인하고, 

일치하면 count를 출력하고, 일치하지 않으면 count를 1 증가시킵니다. 

- 이 과정을 계속 반복합니다.

전체 코드

a, b, c= map(int, input().split())
fa = 0
fb = 0
fc = 0
count = 1

while True:
		fa += 1
		if fa == 16 :
			fa = 1;

		fb += 1
		if fb == 29 :
			fb = 1;

		fc += 1;
		if fc == 20 :
			fc = 1;

		if fa == a and fb == b and fc == c:
			print(count)
			break;
		count += 1

 

www.acmicpc.net/problem/1476

 

1476번: 날짜 계산

준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타

www.acmicpc.net

 

반응형
반응형

파이썬 / BOJ 백준 알고리즘 / 2309번 일곱 난쟁이 - 브루트 포스

 

문제 풀이

- 이번 문제는 입력된 9개의 정수 중 2개를 뽑고, 나머지 7개의 정수의 합을 구하면됩니다. 

- 가능한 모든 2개의 정수를 뽑는데, 나머지 7개의 정수의 합이 100이 된다면, 7개의 정수를 정렬하여 출력하면 됩니다.

 

전체 코드

- combinations 함수를 이용해 7개 정수를 뽑는 모든 조합의 경우를 계산합니다. 

- 그 모든 조합 가운데, 합이 100이면, 그 7개 정수를 정렬하여 출력하도록 합니다.

from itertools import combinations

num_list = [int(input()) for i in range(9)]
p = list(combinations(num_list,7))

for i in p:
    #print(sorted(i), sep='\n')
    if sum(i) == 100 :
        print(*sorted(i), sep='\n')
        break;

 

 

 

www.acmicpc.net/problem/2309

 

2309번: 일곱 난쟁이

아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.

www.acmicpc.net

 

반응형

+ Recent posts