티스토리 뷰
Discrete mathmatics and Problem Solving/2 기초적인 구조들 : 집합, 함수, 순열, 시그마, 행렬
전치행렬 구하기
gaelim 2017. 9. 23. 09:30반응형
[2019 03 20 깃헙 주소에 접근 불가한 것을 확인하고 수정함]
전치행렬을 구하는법은 간단합니다. 행과 열을 바꾸면 되지요.
하지만 코딩을 막 시작하시는 분들께서는 전치행렬을 프로그래밍 할 때 어려움을 느끼십니다.
for (int i=0; i<n; i++){
for (int j=0; j<n; j++){
int tmp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=tmp;
}
}
이렇게 해버리면 행렬이 다시 원래 상태로 되돌아오기 때문이죠. 이럴 때는 chk 배열을 하나 선언해서 해당 행렬을 바꿀때 열행을 1로 바꿉니다. 그리고 행렬을 바꾸려고 할때 해당 열행이 1이라면 연산은 무시됩니다. chk 배열은 초~중급 알고리즘에서 상당히 많이쓰이므로 지금부터 익숙해지는게 좋습니다.
chk 배열을 사용하면 아래와 같은 절차가 됩니다.
전치행렬구하기 문제는 2017 하반기 nhn 코딩테스트에 앞선 연습문제로도 나왔었습니다.
소스보기
https://github.com/ingyeoking13/algorithm/blob/master/swtest/nhn/transposed.c
반응형
'Discrete mathmatics and Problem Solving > 2 기초적인 구조들 : 집합, 함수, 순열, 시그마, 행렬' 카테고리의 다른 글
2 기본 구조들: 집합, 함수, 수열, 합, 행렬 3 (0) | 2016.10.02 |
---|---|
2 기본 구조들: 집합, 함수, 수열, 합, 행렬 1 (0) | 2016.10.01 |
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 아레나
- Trie
- 데이터 중심 애플리케이션 설계
- beginning javascript
- 엄청난 인내심과 시뮬레이션을 위한 아레나 툴
- Discrete Mathematics
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- paul wilton
- 아레나 시뮬레이션
- javascript
- 시뮬레이션
- flutter
- 대규모 시스템 설계 기초
- 명제논리
- 이산수학
- 자바스크립트 예제
- Propositional and Predicate Logic
- 그라파나
- 이산 수학
- 자바스크립트
- 백준
- Simulation
- 조합 코딩
- 로젠
- arena simulation
- grafana cloud
- Arena
- rosen
- 최단경로 알고리즘
- 아레나시뮬레이션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
글 보관함