본문 바로가기

Algorithm475

[파이썬] 백준 30015 : 학생회 뽑기 (골드3) [파이썬] 백준 30015 : 학생회 뽑기 (골드3) 30015번: 학생회 뽑기 2, 3, 4번 학생을 학생회로 뽑으면 $X=31\,\&\, 27\,\&\, 29=11111_{(2)}\,\&\, 11011_{(2)}\,\&\, 11101_{(2)}=11001_{(2)}=25$ 가 된다. 학생회의 능력이 $25$를 넘도록 학생회 멤버를 뽑을 수 없음을 증명할 수 있다. www.acmicpc.net 문제 풀이 방향성 생각 20자리 비트를 모두 체크한다. 100(2) > 11(2). 비트의 자리수가 커지면 이전 비트들을 모두 합해도 더 크다. (등비수열 합) MSB부터 순차적으로 확인한다. 특정 비트 자리수에서 1이 K개 이상이면 그 숫자들을 모으고 낮은 비트 자리수 체크를 반복 전체코드 N,K = map(i.. 2024. 1. 17.
[파이썬] 백준 1888 : 곰팡이 (골드3) [파이썬] 백준 1888 : 곰팡이 (골드3) 1888번: 곰팡이 첫 줄에 곰팡이가 피어 있는 벽의 크기를 나타내는 두 정수 m과 n이 주어진다. (1 ≤ m, n ≤100) 둘째 줄부터는 벽의 상황이 한 줄에 한 행씩 주어진다. 곰팡이가 피어있는 곳은 그 곰팡이의 자라는 www.acmicpc.net 문제 풀이 0. 방향성 생각 곰팡이가 사방으로 퍼져나간다. 한 덩어리로 된 것을 판별하려면 각 군집별로 disjoint set을 사용하거나 BFS를 돌려서 개수를 카운트 해주는 방법이 있다. 본인은 후자로 풀이. 곰팡이 군집을 만날때마다 카운팅을 해줘서 1개가 되는 순간의 날짜를 출력 1. 입력 from collections import deque import sys input = lambda : sys.s.. 2024. 1. 17.
[파이썬] 1484 : 다이어트 (골드5) [파이썬] 1484 : 다이어트 (골드5) 1484번: 다이어트 성원이는 다이어트를 시도중이다. 성원이는 정말 정말 무겁기 때문에, 저울이 부셔졌다. 성원이의 힘겨운 다이어트 시도를 보고만 있던 엔토피아는 성원이에게 새로운 저울을 선물해 주었다. www.acmicpc.net 문제 풀이 방향성 생각 몸무게 변화량 G = (a+b)(a-b)로 인수분해된다. 자연수 몸무게만 취급한다. 예제 입력을 보면 4를 기준으로 +- 1, 8 기준으로 +- 7 이전, 이후 몸무게의 평균값이 정수이면 된다. 이전*이후 = G이므로, G의 약수를 구한다. 전체코드 G = int(input()) temp = {} for i in range(1,int(G**0.5)+1): p,q = divmod(G,i) if not q and .. 2024. 1. 16.
[파이썬] 백준 17143 : 낚시왕 (골드1) [파이썬] 백준 17143 : 낚시왕 (골드1) 17143번: 낚시왕 (acmicpc.net) 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. www.acmicpc.net 문제 풀이 0. 방향성 생각 딕셔너리 입력 받기 -> 낚시하기 -> 상어 이동하기 + 잡아먹기 -> 새로운 딕셔너리 만들기 저 사이클을 한 stage로 만들어서 진행한다. 1. fishing 함수 def fishing(info:dict, x:int) -> int: info[x].sort(reverse=True) if info[x]: shark = in.. 2023. 12. 26.