본문 바로가기

> 알고리즘 문제 풀이/BOJ51

2484-주사위 네개 (python, 파이썬) 1번: 내가 작성한 코드 n = int(input()) max_prize = 0 for _ in range(n): nums = [0 for _ in range(7)] for x in map(int, input().split()): nums[x] += 1 prize = 0 for x in range(7): if nums[x] == 4: prize = 50_000 + x * 5_000 break elif nums[x] == 3: prize = 10_000 + x * 1_000 break elif nums[x] == 2: if 1 in nums: prize = 1_000 + x * 100 break for y in range(7): if nums[y] == 2 and y != x: prize = 2_000 +.. 2020. 10. 16.
2480-주사위 세개 (python, 파이썬) a, b, c = map(int, input().split()) nums = set([a, b, c]) if len(nums) == 1: print(10_000 + a*1_000) elif len(nums) == 3: print(max(nums)*100) else: if a == b or a == c: print(1_000 + a*100) else: print(1_000 + b*100) 2020. 10. 16.
16769-Mixing Milk (python, 파이썬) 1번: 내가 작성한 코드 bucket_list = [] for _ in range(3): bucket_list.append(list(map(int, input().split()))) # 0번째: capacity # 1번째: amount of milk for x in range(100): pour_amount = min(bucket_list[(x+1)%3][0]-bucket_list[(x+1)%3][1], bucket_list[x%3][1]) bucket_list[x%3][1] -= pour_amount bucket_list[(x+1)%3][1] += pour_amount print('\n'.join([str(bucket[1]) for bucket in bucket_list])) 2번: 1번 성공 후 참고.. 2020. 10. 16.
9037-The candy war (python, 파이썬) - 포인트: - 중복 확인은 set으로!!! - 사이클 배열 인덱스는 [ x % N ] 활용 가능 t = int(input()) for _ in range(t): n = int(input()) c = list(map(int, input().split())) d = [0] * n circuit_count = 0 while True: for x in range(n): if c[x] % 2: c[x] = c[x] + 1 d[x] = c[x] // 2 if len(set(c)) == 1: print(circuit_count) break for x in range(1, n): c[x] = c[x] // 2 + d[x-1] c[0] = c[0] // 2 + d[-1] circuit_count += 1 2020. 10. 15.