이번주에 풀었던 문제 중 헷갈리거나 어려웠던 문제들 복습!
n = int(input())
glist = list(map(int, input().split()))
glist.sort()
num = 0
group = 0
for i in range(n):
num += 1
if num >= i:
group += 1
num = 0
print(group)
간단한(??) 문제라 그런지 확실히 그 과정을 한 번 공부하고 푸니 이전보다는 수월하게 느껴졌다. 그러나 시간이 지나면 잘 기억이 안날 것 같기도 하다.. 그래도 풀어서 다행,,!
s = input()
count0 = 0
count1 = 0
#현재 s에 문자열로 저장된 상황이므로 1이 아니라 '1'
if s[0] == '1':
count0 += 1
else:
count1 += 1
for i in range(len(s)-1):
if s[i] != s[i+1]:
if s[i+1] == '0':
count1 += 1
else:
count0 += 1
print(min(count0, count1))
해결과정을 또 떠올리지 못했다,, 뭔가 이해가 안갔는데, 그리면서 풀어보니 무슨 의미인지 이해가 간다!
n = int(input())
clist = list(map(int, input().split()))
clist.sort()
m = 1
for i in clist:
if m < i:
break
m += i
print(m)
갑자기 어떻게 이렇게 되는지 모르겠어서 이런 식으로 이해하며 풀었다,,! 그때그때 완벽하게 이해하며 넘어가야겠다..
코드를 입력하세요
n, k = map(int, input().split())
clist = []
for i in range(n):
clist.append(int(input()))
clist.sort(reverse=True)
count = 0
for i in clist:
if k == 0:
break
count += k // i
k %= i
print(count)
풀때마다 헷갈려서 다시 풀어보았다!! '역순 정렬 + 0이 될 때까지 나누기'
n = int(input())
count = 0
while n >= 0:
if n % 5 == 0:
count += n // 5
break
n -= 3
count += 1
else:
count = -1
print(count)
최근에 푼 문제인데도 또 헷갈렸다,,! 그래도 한 번 이해하니 원리는 금방 떠올려서 풀어낼 수 있었다.
alist = input().split('-')
sum = 0
for i in alist[0].split('+'):
sum += int(i) #i를 int로 변환해야 하는 것 주의
for i in alist[1:]:
for k in i.split('+'):
sum -= int(k)
print(sum)
이 문제도 한 번 이해하니 그 원리는 잘 파악이 갔지만 세부적인 요소까지는 잘 떠올리지 못했다. 그래도 뭔가 다음에 또 하면 완벽하게 풀 수 있을 것 같다.
무지의 먹방 라이브와 회의실 문제는 아이패드로 정리해서 다시 올리려고 한다,,!
안녕하세요, 김덕우입니다! 많은 문제를 정리하셨네요, 수고해셨습니다! 저도 웃음님처럼 손코딩을 해봐야겠어요, 나중에 추가로 아이패드로 정리해서 올리시면 확인하러 오겠습니다!! 다음주도 화이팅입니다~~~