-
Notifications
You must be signed in to change notification settings - Fork 126
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 7 Solution #491
Conversation
|
||
while (right < s.length) { | ||
if (MAP.has(s[right])) { | ||
left = Math.max(MAP.get(s[right])! + 1, left); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
와, Map을 사용해서 인덱스를 저장하니, left 인덱스를 하나씩 증가시키지 않고 한 번에 점프할 수가 있네요. 한 수 배워 갑니다! 🙇
for (let i = 1; i < r; i++) { | ||
if (matrix[i][0] === 0) { | ||
matrix[i].fill(0); | ||
} | ||
} | ||
|
||
for (let j = 1; j < c; j++) { | ||
if (matrix[0][j] === 0) { | ||
matrix.forEach((row) => (row[j] = 0)); | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(질문) 반복문을 하나로 합쳐 진행해도 좋을 것 같은데 두 개로 나누신 이유가 따로 있으실까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
넵 질문주셔서 감사합니다!
matrix
의 가로, 세로 사이즈가 다를 수 있어서 분리 하였는데, 취향에 따라 아래와 같이 표현할 수는 있을 것 같습니다.
for (let i = 1; i < Math.max(r, c); i++) {
if (matrix[i]?.[0] === 0) matrix[i].fill(0);
if (matrix[0]?.[i] === 0) matrix.forEach((row) => (row[i] = 0));
}
다만 지극히 제 주관적으로, 위 코드는 전체 라인 수는 줄어들지만 조건이나 처리가 다소 지저분하다고 느껴져서 두 개의 순회로 분리하였습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아 네 희찬님, 제가 생각했던 코드는 요런 방식이었습니다!
이 방법이 가독성이 크게 떨어지지는 않는 것 같아서 소소하게 코멘트 남기려 했습니다!
for (let i = 1; i < r; i++) { | |
if (matrix[i][0] === 0) { | |
matrix[i].fill(0); | |
} | |
} | |
for (let j = 1; j < c; j++) { | |
if (matrix[0][j] === 0) { | |
matrix.forEach((row) => (row[j] = 0)); | |
} | |
} | |
for (let i = 1; i < r; i++) { | |
for (let j = 1; j < c; j++) { | |
if (matrix[i][0] === 0 || matrix[0][j] === 0) { | |
matrix[i][j] = 0; | |
} | |
} | |
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수고하셨습니다.
답안 제출 문제
체크 리스트
In Review
로 설정해주세요.