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

[이병현] Week 2 #370

Merged
merged 6 commits into from
Aug 25, 2024
Merged

[이병현] Week 2 #370

merged 6 commits into from
Aug 25, 2024

Conversation

@DaleSeo DaleSeo requested a review from EgonD3V August 24, 2024 18:25
@tolluset
Copy link
Contributor Author

4, 5번째 문제는 나중에 따로 풀어보도록 하겠습니다. 아직 어렵네요 🥲

@tolluset tolluset marked this pull request as ready for review August 25, 2024 02:19
Copy link
Contributor

@EgonD3V EgonD3V left a comment

Choose a reason for hiding this comment

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

혹시 각 파일의 마지막에 빈 줄 안넣으셨으면 추가 부탁드립니다

Comment on lines +9 to +11
.toString(2)
.split("")
.filter((v) => v === "1").length,
Copy link
Contributor

Choose a reason for hiding this comment

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

정수를 문자열로 바꿔서 "1" char의 숫자를 세는 것도 좋은 풀이지만, 기왕이면 정수형이라는 점을 이용해서 비트연산의 장점을 살려보는 것도 좋을 것 같습니다.

Copy link
Contributor Author

@tolluset tolluset Aug 25, 2024

Choose a reason for hiding this comment

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

헉 비트연산이 있네영, 갠적으로 가독성을 위해 비트연산도 좋지만 개수를 센다는 명시적인 방법을 쓸 것 같아여!

코테면 이렇게 하고 추가로 비트연산은 바꾸는 식으로 하는 전략도 가능하겠네영 🤣

* SC: O(nm)
* */
function encode(arr: string[]): string {
return arr.join("🎃");
Copy link
Contributor

Choose a reason for hiding this comment

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

절대 사용하지 않는 delimeter를 쓰면 풀리는 풀이기는 하지만... 타입스크립트를 사용하시면 웹과 관련된 문자열 인코딩 / 디코딩 알고리즘을 구현해보시는 것도 좋을 것 같습니다. 특수문자만 바뀌겠지만 percent encoding이나 아니면 base64 url safe encoding이나 등등

Copy link
Contributor Author

@tolluset tolluset Aug 25, 2024

Choose a reason for hiding this comment

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

키워드 알아가네요 찾아보겠습니다! 감사합니당!

Comment on lines +16 to +17
const groupBy = (v: string) =>
v.split("").reduce((acc, cur) => ((acc[cur] = (acc[cur] ?? 0) + 1), acc), {});
Copy link
Contributor

Choose a reason for hiding this comment

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

이건 알고리즘과 상관없는 이야기긴 한데, 특정 함수에서만 쓰이는 arrow function은 그 특정 함수 내부에 포함시켜서 다른 함수는 참조 못하게 하는 것도 좋은 방법일 수 있습니다.

Copy link
Contributor Author

@tolluset tolluset Aug 25, 2024

Choose a reason for hiding this comment

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

그러네용! 약간 유틸성으로 생각해서 밖으로 빼두었어요. 리트코드가 아직 타스 5.1까지라 그룹바이가 없드라구여 🥲

로직이 포힘되었기는 해서 내부에 두는 것도 좋을 것 같긴 하지만, 내부 같은 변수명 참조되버린다던지 하는 문제가 있어서 빼게 되더리구여.

@tolluset
Copy link
Contributor Author

혹시 각 파일의 마지막에 빈 줄 안넣으셨으면 추가 부탁드립니다

EOF이 없으면 파일 체인지 마지막에 빨간 아이콘이 뜨는데 저는 없네용!

@tolluset
Copy link
Contributor Author

풀이과정들 참고해서 4, 5 추가해두었습니다. 재밌네용.

@DaleSeo DaleSeo merged commit fcb4ee5 into DaleStudy:main Aug 25, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
No open projects
Status: Completed
Development

Successfully merging this pull request may close these issues.

3 participants