[アルゴリズム]白駿Python 1475102
5120 ワード
1475号室番号
# https://www.acmicpc.net/problem/1475
input_data=input()
card=[0]*10
for i in input_data:
if i=='9' or i=='6':
if card[6]==card[9]:
card[6]+=1
else:
card[9]+=1
else:
card[int(i)]+=1
print(max(card))
1052水瓶 # https://www.acmicpc.net/problem/1052
import sys
input = sys.stdin.readline
N, K = map(int, input().split())
answer = 0
# 3 이진수 11 -> 2개 만들어지는 물병 개수
# 4-> 100 -> 1개 만들어지는 물변 개수
# 위 이진수 이용 -> 물병의 개수보다 크면 마트에서 물병 사옴
while bin(N).count('1') > K:
# 역순으로 index가 1인 경우
plus = 2 ** (bin(N)[::-1].index('1'))
answer += plus
N += plus
print(answer)
1052は最初は2に分けて、残りとシェアで計算して、解いた結果、多くの先生がバイナリ数で解いていることに気づき、アイデアを考えると、この問題は簡潔だと思います.
Reference
この問題について([アルゴリズム]白駿Python 1475102), 我々は、より多くの情報をここで見つけました
https://velog.io/@jifrozen/Algorithm-백준-파이썬-1475-1052
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
# https://www.acmicpc.net/problem/1052
import sys
input = sys.stdin.readline
N, K = map(int, input().split())
answer = 0
# 3 이진수 11 -> 2개 만들어지는 물병 개수
# 4-> 100 -> 1개 만들어지는 물변 개수
# 위 이진수 이용 -> 물병의 개수보다 크면 마트에서 물병 사옴
while bin(N).count('1') > K:
# 역순으로 index가 1인 경우
plus = 2 ** (bin(N)[::-1].index('1'))
answer += plus
N += plus
print(answer)
Reference
この問題について([アルゴリズム]白駿Python 1475102), 我々は、より多くの情報をここで見つけました https://velog.io/@jifrozen/Algorithm-백준-파이썬-1475-1052テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol