📖 question https://www.acmicpc.net/problem/11098 11098번: 첼시를 도와줘! 구단이 성적을 내지 못한다면 답은 새 선수 영입뿐이다. 이것은 오늘날 유럽 리그에서 가장 흔한 전략이고, 노르웨이의 로젠버그 팀은 이러한 전략이 성공한 대표적 예시다. 그들은 많은 스카 www.acmicpc.net ✍️ answer n = int(input()) for _ in range(n): p = int(input()) clist = [] namelist = [] for _ in range(p): c, name = input().split() c = int(c) clist.append(c) namelist.append(name) # 각각 비용리스트, 선수리스트에 넣었고 높은 비용에 ..
# 1부터 target-1까지의 숫자를 만들 수 있다. # target보다 작은 지 확인하고 크다면 target값을 업데이트 한다. coin = int(input()) won = sorted(map(int, input().split())) # 3 2 1 1 9 target = 1 # 처음에 1을 만들 수 있는지 확인하기 위해 1로 설정 (1이 최소이므로) for i in won: # 1 1 2 3 9 (5번 돎) if target < i: break target += i # target(= 1)이 1보다 작은지 확인 # target(= 2)이 1보다 작은지 확인 # target(= 3)이 2보다 작은지 확인 # target(= 5)이 3보다 작은지 확인 # target(= 8)이 9보다 작은지 확인 pr..
s = input() count0 = 0 count1 = 0 # 0으로 시작할 때, 1로 시작할 때 두가지 경우를 생각 if s[0] == '0': count0 += 1 elif s[0] == '1': count1 += 1 for i in range(len(s)-1): if s[i] != s[i+1]: # s[0] s[1]이 다르면 아래의 조건문을 실행 if s[i+1] == '1': count1 += 1 elif s[i+1] == '0': count0 += 1 print(min(count0, count1)) # 두 합 중 최솟값을 출력 # count = 0 # list = [] # for i in range(n): # if w[i] in list: # continue # list.append(w[i])..
# 나의 풀이 s = input() result = 1 for i in s: if int(i)
# 해설의 도움을 받은 풀이 n = int(input()) x = sorted(map(int, input().split())) # 1 2 2 2 3으로 정렬됨 count = 0 # 그룹의 수 p = 0 # 그룹 안의 모험가 수 for i in range(n): p += 1 # 모험가 한명씩 추가 if p >= x[i]: # 모험가가 공포도보다 많거나 같을 경우 그룹 결성 count += 1 p = 0 print(count) # 1 / 2 2 / (보류 2 3) 두 팀으로 결성 # 해설 n = int(input()) x = sorted(map(int, input().split())) count = 0 p = 0 for i in x: # 리스트 x를 범위로 해서 i로 하나씩 호출 p += 1 if p >= ..
# 나의 풀이 n, k = map(int, input().split()) count = 0 while n > 1: if n % k != 0: # 17%4==1 n -= 1 # 16 count += 1 else: n = n//k count += 1 print(count) # 해설 n, k = map(int, input().split()) count = 0 while n >= k: # n을 k로 나눌 수 있을 때까지만 반복 while n % k != 0: n -= 1 count += 1 n //= k count += 1 while n > 1: # 다 나눴는데 n이 1보다 크다면 1씩 빼줌 n -= 1 count += 1 print(count)