Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[jinah92] Week 4 #810

Merged
merged 6 commits into from
Jan 3, 2025
Merged

[jinah92] Week 4 #810

merged 6 commits into from
Jan 3, 2025

Conversation

jinah92
Copy link
Contributor

@jinah92 jinah92 commented Dec 29, 2024

답안 제출 문제

체크 리스트

  • 우측 메뉴에서 PR을 Projects에 추가해주세요.
  • Projects의 오른쪽 버튼(▼)을 눌러 확장한 뒤, Week를 현재 주차로 설정해주세요.
  • 바로 앞에 PR을 열어주신 분을 코드 검토자로 지정해주세요.
  • 문제를 모두 푸시면 프로젝트에서 StatusIn Review로 설정해주세요.
  • 코드 검토자 1분 이상으로부터 승인을 받으셨다면 PR을 병합해주세요.

@jinah92 jinah92 requested a review from a team as a code owner December 29, 2024 06:39
@github-actions github-actions bot added the py label Dec 29, 2024
@jinah92 jinah92 requested a review from gwbaik9717 December 29, 2024 06:40
Copy link
Contributor

@DaleSeo DaleSeo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

5문제 모두 정말 빨리 잘 푸신 것 같아서 승인합니다 👏👏👏
사소한 질문 남겼으니 시간되실 때 생각해보시면 좋을 것 같아요.

missing-number/jinah92.py Outdated Show resolved Hide resolved
palindromic-substrings/jinah92.py Outdated Show resolved Hide resolved
- set 자료구조를 활용
- for문을 모두 순회한경우 리스트의 길이를 리턴
Copy link
Contributor

@DaleSeo DaleSeo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

피드백 반영해주셔서 감사합니다!

Copy link
Contributor

@gwbaik9717 gwbaik9717 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

안녕하세요, @jinah92 님! 이미 코치님께서 좋은 코멘트 많이 달아주셨지만, 저도 몇 가지 남겨보았어요. 시간이 되실 때 확인해주시면 좋을 것 같아요. 새해 복 많이 받으세요 :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이건 리뷰는 아니고, 제가 coin-change 문제를 풀면서 한가지 고민했던 부분을 공유드립니다. 문제의 예시는 coins 배열이 오름차순으로 주어지지만, 항상 오름차순으로 주어진다는 보장은 없습니다. 만약 coins 가 오름차순으로 주어지지 않더라도 작성하신 코드가 잘작동할지 궁금합니다.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

다음과 같은 이유로, dp 배열을 갱신하는데 영향을 끼치지 않기 때문에 coins 배열의 정렬 순서는 상관이 없을 것 같습니다

  • 모든 동전을 독립적으로 처리: dp 배열은 각 동전에 대해 독립적으로 갱신됩니다. 즉, coins 배열이 어떤 순서로 주어지더라도, 모든 동전에 대해 동일한 방식으로 dp[i]를 계산합니다.
  • 최소값 비교의 특성: dp[i]는 항상 현재까지 계산된 값(dp[i])과 새로운 값(dp[i−coin]+1) 중 더 작은 값을 선택합니다. 이 과정에서 특정 동전의 순서는 중요하지 않습니다. 모든 동전에 대해 동일한 최솟값 비교가 이루어지므로 결과가 동일하게 유지됩니다.
  • 동전의 중복 사용 허용: 문제에서 각 동전은 여러 번 사용할 수 있습니다. 따라서 특정 동전을 먼저 처리하거나 나중에 처리하더라도 최종 결과에는 영향을 미치지 않습니다.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

혹시 시간적 여유가 되신다면, 이 코드의 시간 복잡도를 줄여보는 것을 시도해보시면 어떨까요?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DP 풀이법 추가했습니다~

class Solution:
def exist(self, board: List[List[str]], word: str) -> bool:
rows, cols = len(board), len(board[0])
visited = set()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

visited 배열을 제거하고, 공간복잡도를 조금 더 최적화해보면 어떨까요?

Copy link
Contributor Author

@jinah92 jinah92 Jan 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

방문여부를 별도 set으로 관리하지 않고, board에 빈 값을 넣고, 방문 이후에는 원래 값으로 원복하는 방법이 있을 것 같습니다.
따라서 최적한다면 O(W) 공간복잡도로 최적화됩니다.

Copy link
Contributor Author

@jinah92 jinah92 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gwbaik9717 님~ 코멘트 감사합니다.
반영해서 추가로 작업했습니다.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DP 풀이법 추가했습니다~

@jinah92 jinah92 merged commit df3d66f into DaleStudy:main Jan 3, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Completed
Development

Successfully merging this pull request may close these issues.

3 participants