| English | 의미 |
|---|---|
| nested-loop/ˈnestɪd luːp/ | 중첩 루프 |
| main diagonal/meɪn daɪˈæɡənl/ | 주대각선 |
| indexed/ˈɪndekst/ | 인덱스 적용됨 |
그리드 알고리즘
- 2차원 알고리즘은 배열 패턴과 중첩 루프 순회를 결합합니다.
- 전체 그리드에 대한 합/개수/최대값: 안쪽 루프 내부에서 누적합니다.
- 격자에서 검색: 찾은 위치의
[row][col]를 반환하거나 "찾을 수 없음" 신호를 반환합니다. - 동일한 누적/최대값 로직을 이제
rows × columns개의 셀에 대해 적용합니다.
행 및 열의 합
- 한 행:
r을 고정하고, 열에 대해c을 루프하여g[r][c]을 합산합니다. - 한 열:
c을 고정하고, 행에 대해r을 루프하여g[r][c]을 합산합니다. - 어떤 인덱스를 고정하고 어떤 인덱스를 루프로 할지 선택하는 것이 핵심 결정 사항입니다.
- 행의 합은 가로로 스캔하고, 열의 합은 세로로 스캔합니다.
대각선
- 정방형 그리드의 주 대각선은 행 == 열인 셀들입니다.
- 한 가지 인덱스에 대한 루프:
for (int i = 0; i < g.length; i++) { ... g[i][i] ... } g[0][0], g[1][1], g[2][2], …— 단일 루프로 두 인덱스가 동일합니다.- 정방형 그리드에 유용합니다(신원 확인, 보드 대각선 등).
셀 수정
- 셀을 변경하려면 인덱스 기반 중첩 루프를 사용하고
g[r][c] = ...에 할당합니다. - for-eeach 버전은 그리드에 다시 쓰기를 할 수 없습니다.
- 두 경계를 주의 깊게 확인하십시오 — 잘못된 길이는 잘못된 셀을 읽거나 쓸 수 있습니다.
- 특히 행과 열의 개수가 다를 때
[r][c]을 신중하게 추적하십시오.
어느 인덱스를 고정하고 어느 인덱스를 루프로 돌릴지 결정하는 것이 행 합과 열 합의 차이입니다. 행 합은 r를 고정하고 c를 루프돌리며(g[r][c] across); 열 합은 c를 고정하고 r를 루프돌립니다(g[r][c] down). 셀을 수정하려면 인덱스 기반 중첩 루프(g[r][c] = …)가 필요하며, for-eform 형식은 읽기 전용입니다.
그리드의 0열 합 계산:
int sum = 0;for (int r = 0; r < g.length; r++) { sum += g[r][0]; }- 열
0을 고정하고 행을 따라 아래로 루프 — 열의 합입니다.
2차원 알고리즘은 중첩 루프 위에 배열 패턴을 적용합니다: 전체 그리드 합/개수/최대값/검색, 행의 합(r 고정, c 루프), 열의 합(c 고정, r 루프), 또는 대각선(g[i][i]). 셀 수정에는 인덱스 기반 루프가 필요합니다(g[r][c] = …); 두 경계를 모두 유의하십시오(g.length 행, g[0].length 열).
열 0 합계 구하기
g[0][0]=1, g[1][0]=4, g[2][0]=7: 누적 합 1, 5, 12.
단일 행 r의 합계를 구하려면 ...
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
행 합계는 행을 고정하고 열을 루프로 돌립니다.
단일 열 c의 합계를 구하려면 ...
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
열 합계는 열을 고정하고 행을 루프로 돌립니다.
정사각 격자의 주대각선은 ...인单元格입니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
g[0][0], g[1][1], g[2][2] — 인덱스 하나, 두 값 모두 동일.
for-eform 구문은 격자单元格를 수정(쓰기)할 수 있습니다.
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
for-each는 읽기 전용입니다. 쓰기를 위해 인덱스 루프(g[r][c] = ...)를 사용하십시오.
{{1,2},{4,5},{7,8}}의 0열은 1, 4, 7입니다. 이 합은?
난이도 2/5 · 140 코인 + 오늘 첫 완료 시 소액 보너스
1 + 4 + 7 = 12.
열 c의 합을 계산하는 단계를 정리하십시오.
난이도 3/5 · 200 코인 + 오늘 첫 완료 시 소액 보너스
초기화, 행 루프, 누적, 반환.