1. 스터디 범위
1) 범위
블로그 리뷰, 백준 문제 재귀 단계
2) 선정 이유
코테 준비를 하기 위해서 진행
2. 스터디 내용
# 리뷰 후
if 0 <= nx < n and 0 <= ny < m and image[nx][ny] == now:
image[nx][ny] = 0
q.append((nx, ny))
# 리뷰 전
if nx < 0 or nx >= n or ny < 0 or ny >= m:
continue
if image[nx][ny] == 0:
continue
if image[nx][ny] == now:
image[nx][ny] = 0
q.append((nx, ny))
리뷰 전 코드는 처음 bfs를 공부할 때 책에서 봤던 코드입니다.
처음 리뷰를 받았을 때는 조건을 어떻게 표현하는지에 대한 선호의 차이가 아닌가? 생각하긴 했습니다.
하지만 그 후 이어지는 리뷰에서 제가 코드를 작성할 때 마치 단계를 밟는 것처럼 조건을 여러 번 나열하는 것을 선호한다는 것을 알게 되었습니다 .. 처음으로 코드를 전개하는 방식에 대해 생각해보게 되었습니다.
# 리뷰 후
if day > prev:
answer.append(count)
count = 0
count += 1
# 리뷰 전
if day == prev:
count += 1
elif day > prev:
answer.append(count)
count = 1
조건을 이런 식(?)으로 주고 있다는 것도 알게 되었고요..
# 리뷰 후
while scoville[0] < K:
try:
heappush(scoville, heappop(scoville) + heappop(scoville) * 2)
answer += 1
except:
return -1
# 리뷰 전
while scoville[0] < K:
first = heapq.heappop(scoville)
if scoville:
new_scov = first + (heapq.heappop(scoville) * 2)
heapq.heappush(scoville, new_scov)
answer += 1
else:
return -1
파이썬의 try-except문을 알고만 있었는데 코드에 적용하는 방법과 참고 링크도 공유해주셨습니다.heapq.heapreplace
의 존재도 알려주셨습니다. ㅎㅎ
# 리뷰 전
for name in names:
weight = int(trucks[name])
if weight == max_weight:
sum_weight = 0
answer += 2
continue
if weight < (max_weight - sum_weight):
sum_weight += weight
elif weight > (max_weight - sum_weight):
sum_weight = weight
answer += 1
elif weight == (max_weight - sum_weight):
sum_weight = 0
answer += 1
# 리뷰 후
for name in names:
weight = int(trucks[name])
if weight > (max_weight - sum_weight):
sum_weight = 0
answer += 1
sum_weight += weight
제가 단계마다 조건주는 것을 이렇게나 좋아하는 사람입니다..
3. 느낀점
스터디를 마치고 나면 이제 다시 시작이라는 기분이 듭니다. 배운 방법을 토대로 더 많이 연습해야 합니다.. 저는 스터디하며 만난 열정 있는 동료들과 코딩테스트 스터디를 이어가고 있습니다. 저는 아쉽게도 다른 언어를 공부하기 시작해 기업 코테에 응시하고 있지는 못하지만, 문제 푸는 방법을 아예 잊어버리지 않을 정도로 계속 공부하고 있습니다.
'스터디' 카테고리의 다른 글
[스터디 후기] 6주차. 백준 문제 및 조별 과제 토의 (0) | 2022.07.19 |
---|---|
[스터디 후기] 5주차. 백준 문제 및 조별 과제 토의 (0) | 2022.07.11 |
[스터디 후기] 4주차. 백준 문제 및 조별 과제 토의 (0) | 2022.07.04 |
[스터디 후기] 3주차. 백준 문제 및 조별 과제 토의 (0) | 2022.06.27 |
[스터디 후기] 0. 아이스 브레이킹 (0) | 2022.06.12 |