deda
Deda의 데이터 디자인
deda
전체 방문자
오늘
어제
  • 분류 전체보기 (121)
    • Python (27)
      • Python 기초 (17)
      • Python 데이터분석 (10)
    • SQL (9)
    • Coding test (54)
      • Python 기초문제 (45)
      • LeetCode (9)
    • BigData (2)
    • ZeroBase (3)
    • UX (0)
    • Business Review (1)
    • 통계 & 수학 (17)
      • 통계학 (14)
      • 수학 (3)
    • 스터디 (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • matplotlib
  • 소인수분해
  • 마이데이터
  • 데이터분석가
  • 등차수열
  • 모듈
  • pandas
  • 팩토리얼
  • 파이썬
  • 최소공배수
  • 제로베이스
  • SQL
  • 계차수열
  • 릿코드
  • 빅데이터
  • 코딩
  • 네카라쿠배
  • 프로그래밍
  • 데이터사이언티스트
  • 군수열
  • 데이터분석
  • 기초수학
  • 통계
  • 데이터엔지니어
  • 미니콘다
  • 부트캠프
  • 등비수열
  • BMI
  • 함수
  • 계산기

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
deda

Deda의 데이터 디자인

스터디

[스터디 후기] 1. 코딩테스트_1 & EDA 과제_2

2022. 6. 19. 23:27

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
    '스터디' 카테고리의 다른 글
    • [스터디 후기] 5주차. 백준 문제 및 조별 과제 토의
    • [스터디 후기] 4주차. 백준 문제 및 조별 과제 토의
    • [스터디 후기] 3주차. 백준 문제 및 조별 과제 토의
    • [스터디 후기] 0. 아이스 브레이킹
    deda
    deda
    데이터 분석 / 파이썬 / UX / 정량리서치

    티스토리툴바