티스토리 뷰

반응형

https://www.acmicpc.net/problem/2178

 

자료구조론 과목에서도 이미 풀었던 문제였는데 BFS로 다시 푸니깐

 

런타임에러가 났다...

 

 

역시나 삽질....

 

 

원인은 배열 입력부분에 있었다.

 

 

숫자 110을

 

행/열

 0

 0

 1

 1

 0

배열에 집어넣기 위해

그동안 좋아했던 방법은

아래와 같이 나머지를 이용한 방법이었다.

 

1
2
3
4
5
6
7
for(int i=0;i<N;i++) {
            int tmp=sc.nextInt();
            for(int j=M-1;j>=0;j--) {
                a[i][j]=tmp%10;
                tmp/=10;
            }
        }
cs

 

 

그런데 미로탐색2178 문제에서 윗부분만을 고치니깐 런타임에러가 바로 해결되었다.

원인은 공부해봐야겠지만, 0의 연산때문이 아닐까 싶다.....(솔직히 모르겠다)

 

그래서 앞으로 이 방법을 버리고

String을 이용한 방법으로 써야겠다!!

 

1
2
3
4
5
6
7
8
for(int i=0;i<N;i++) {
            String str=sc.next();
            for(int j=0;j<M;j++) {
                a[i][j]=str.charAt(j)-'0';
                
  
            }
}
cs

 

 

겉으로 보기에는 큰차이가 없어보이는데... 아는 만큼 보인다고=..=

공부좀 열심히 해야겠다..

 

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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 31
글 보관함