잡담

2020미궁 문제 8번에 막혀서 진도가 나가지 못하고 있어서,
2021년 12월에 나온 문제들을 풀어 보고있다.
막히면 갑갑한데, 알고리즘 풀면서 생각해봐야겠다.
이 문제가 초등학교 수학문제라는것에 감탄을 하였다.

2021[1004] #1


첫번째 문제

문제풀이

문제 보자마자, 코딩으로 해야지라는 말이 나왔다.

from itertools import product,combinations_with_replacement

data = [1,2,3,4,5,6]
result = list()
data_list = combinations_with_replacement(data,2)
for data in data_list:
  x, y = data
  if x%2==0 and y%2==0:
    result.append(x*y)
    # print(f"짝수 짝수 {data}")
  elif x%2==1 and y%2==1:
    result.append(x*y)
    # print(f"홀수 홀수 {data}")
  else:
    result.append(x+y)
    # print(f"짝수 홀수 {data}")

# print(result)

final_result = product(result, repeat=3)

i = 0
for data in final_result:
  if sum(data) == 30:
    i += 1
print(i)

문제에서 설명한대로 1,2 주사위와 2,1 주사위는 한가지의 경우로 보기 때문에,
combinations_with_replacement() 함수를 사용했다.
그리고 3번던지는 과정은 중복으로 인정을 해주기에(솔직히 말하면 언급이 없었따.),
product()함수를 사용해서 문제를 풀었다.
바로 끝났다.

정답은 213이다.

댓글남기기