풀이특징
# 모든 숫자가 같도록 뒤집는 최소횟수
nums = input()
zeroCount = 0
oneCount = 0
if nums[0] == '0':
zeroCount += 1
else:
oneCount += 1
for i in range(len(nums)-1):
if nums[i] != nums[i+1]:
# 횟수 증가
if nums[i+1] == '0':
zeroCount += 1
else:
oneCount += 1
print(min(zeroCount, oneCount))
풀이 특징
# 만들 수 없는 최솟값
n = int(input())
coins = list(map(int, input().split()))
coins.sort()
# 1 1 2 3 9
target = 1
for coin in coins:
if coin <= target:
target += coin
else:
break
print(target)
풀이 특징
# 두 사람이 서로 다른 무게의 공을 고르는 경우의 수
n, m = map(int, input().split())
balls = list(map(int, input().split()))
count = [0] * (m+1)
for ball in balls:
count[ball] += 1
result = 0
for i in range(1, m):
if count[i] == 0:
continue
first = count[i]
second = n - count[i]
result += (first * second)
n -= count[i]
print(result)