티스토리 뷰
문제
M x N 행렬을 순회하면서 0인 원소를 발견하면, 해당 원소가 속한 행과 열의 모든 원소를 0으로 설정하는 알고리즘을 작성하라.
풀이
1. 비트 벡터 사용
배열을 순회하면서 0이 들어간 행과 열을 각각 정수형 변수에 비트로 위치를 기록해두고 이를 바탕으로 배열의 값을 바꿔주면 됩니다.
2. 배열의 첫 번째 행과 첫 번째 열을 기록용 배열로 사용
첫 번째 행과 첫 번째 열에 0이 포함되어있는지를 기록하는 boolean형 변수 두 개에 각각 기록해두고
첫 번째 행과 열을 제외한 나머지 위치를 순회하면서 0의 위치를 첫 번째 행과 첫 번째 열에 기록해둡니다.
기록해둔 첫 번째 행과 열을 참고하여 나머지 배열의 0이 들어가는 위치를 모두 바꿔주고
앞에서 기록해둔 boolean형 변수를 참고하여 첫 번째 행과 첫 번째 열을 0으로 바꿔주면 됩니다.
구현 코드
'Coding Test > 코딩인터뷰 완전분석' 카테고리의 다른 글
[c++] 코딩인터뷰 완전분석 - 배열과 문자열 8 (0) | 2020.09.28 |
---|---|
[c++] 코딩인터뷰 완전분석 - 배열과 문자열 6 (0) | 2020.09.24 |
[c++] 코딩인터뷰 완전분석 - 배열과 문자열 5 (0) | 2020.09.23 |
[c++] 코딩인터뷰 완전분석 - 배열과 문자열 4 (0) | 2020.09.22 |
[c++] 코딩인터뷰 완전분석 - 배열과 문자열 3 (0) | 2020.09.21 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- python
- pyspark
- 2225
- Sqoop
- hive
- 백준
- 팰린드롬 구하기
- 외발 뛰기
- 삼각형 위의 최대 경로 수 세기
- HDFS
- 하둡
- 하이브
- 합친 lis
- 코딩인터뷰 완전분석
- 스파크
- Hadoop
- 분할정복
- 삼각형 위의 최대 경로
- 배열과 문자열
- HiveQL
- 완전탐색
- import
- 종만북
- 두니발 박사의 탈옥
- microwaving lunch boxes
- C++
- 출전 순서 정하기
- Jaeha's Safe
- Django
- 알고스팟
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함