inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)

나선형매트릭스(SpiralMatrix)

우측, 위쪽 방향에만 조건을 걸어주는 이유

283

E mergency

작성한 질문수 21

1

왜 좌측방향 아래방향 갈때는 조건을 안걸어 주고, 우측방향 위쪽방향 갈때만 조건을 걸어주는건가요?

구체적으로 설명을 해주셨으면 합니다

java 코테 준비 같이 해요!

답변 3

1

푸샵맨 코딩스터디

그리고 예제는 아래 꺼로 해보세요~

int[][] nums = { { 1, 2, 3, 4 },

                 { 5, 6, 7, 8 }, 

                 { 9, 10, 11, 12 } };

1

푸샵맨 코딩스터디

아 그리고 첨언하면, 처음에 들어올때 와일문에서 이미 범위 체크를 했는데 왜 내부에서 또 하느냐라고 반문할수 있는데요

while (rowStart <= rowEnd && colStart <= colEnd) {

               이 내부에서 rowStart 가 rowEnd 보다 크게 되는 경우가 발생합니다. 그거를 걸러주는겁니다.

}

이런류의 내부체크 로직은 아주 중요하고 dfs, bfs도 내부에서 범위체크를 해줍니다. 비슷한 방법으로합니다.

이걸 잘 이해하면 bfs/dfs문제를 쉽고 빠르게 풀어 낼수 있습니다~황이팅

1

푸샵맨 코딩스터디

안녕하세요.~~ 반갑습니다~~

글로 쓰니까 너무 읽기가 불편해서 그림을 그려봤습니다.

아래 그림 5,6 번 빨간색을 잘 보시면 됩니다. 좌표를 그려보시고요, 항상 범위체크는 해줘야 합니다.

5,6번에서 값이 오버된 상태입니다. 밑에 우측, 위쪽 방향 갈때 이 조건을 걸러 줘야 합니다

요약하면 RowStart는 절대 RowEnd보다 클수 없습니다.

강의자료에 나오는 m과 n의 범위가 코딩하고 다른거 같습니다

0

253

0

나선형매트릭스 깃허브에 코드가 없는것같아요

0

208

0

로그 파일의 데이터 재정렬 코드가 깃허브에 없어요!

0

223

0

새로 생긴 기초강의 질문드려요

1

374

1

질문드립니다

1

218

1

Unique Paths Integer 질문입니다

0

219

1

subString 방법으로 문제 풀이 영상은 짤린건가요?

1

251

1

DFS 방식으로 푼 것이 맞나요?

0

307

2

질문드립니다~

0

196

1

left if문에 대해서

1

255

1

오타 인가요?

1

237

1

안녕하세요 강사님

1

187

1

질문 드립니다

0

172

2

Queue&Stack 문제해설집 문의

0

183

1

문제분석 로직 질문

1

228

1

시간 복잡도 문의드립니다.

1

231

1

시간복잡도 질문드립니다.

1

201

1

for-each 문 질문있습니다!

0

293

1

강의영상에서 사용된 로그 메소드가 궁금합니다.

2

280

2

강의자료 + 문제 이해 관련 질문입니다

1

278

3

강사님 오류맞나요?

1

206

1

강사님 시간 복잡도에 대해서 질문드립니다.

1

172

1

질문입니다.

1

201

1

문제에 대한 이해

1

313

1