전체 글
-
스트링을 char 배열에 저장해주는 .toCharArray()개발/Java 2020. 5. 14. 20:24
알고리즘 DFS, BFS 문제를 풀다보면 지도와 같은 환경을 스트링으로 주는 경우가 있다. 이런 경우 스트링에 문자 하나하나를 떼어서 배열에 넣어주는 함수가 toCharArray() 이다. 미로탐색 문제에서 1이 이동가능, 0이 이동불가능한 블럭이라고 할때, 띄어쓰기 없이 10111 11110 ..... 이런식으로 주어진다. char형 2차원 배열을 생성하고 (char[][] map) for문 안에서 map[i] = sc.nextLine().toCharArray() 로 각 한줄씩 배열에 저장할 수 있다. char형이 아닌, int 배열에 넣고싶을 때는 또다른 방법이 있다. 이중포문 안에 CharAt() 함수를 쓰는 방법이다. 첫번째 for문으로 스트링을 입력받고 두번째 for문에서 int n = char..
-
2178 미로탐색알고리즘/백준 문제 2020. 5. 14. 20:11
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net - 미로의 시작 [0,0] 에서 [n-1, m-1]로 빠져나가는 최단거리를 구하는 문제 - 정점간의 거리가 모두 1 이므로 BFS를 사용하여 최단거리를 구할 수 있다. 탐색중인 위치(x,y) 를 표시할 클래스 Pos를 만들었다. 반복문을 이용해 이동가능한 상하좌우 좌표를 확인하기 위해 상하좌우로 이동시켜줄 _x, _y 배열을 생성했다. 즉 각각의 배열 인덱스 0은 '상' 으로 이동하기 위한 x좌표, y좌표를 담고 있다. 위와 같..
-
충격받아 다시 블로그 시작한 후기휴먼띵킹 2020. 5. 14. 18:57
얼마 전에 카카오 인턴채용 코딩테스트가 있었다. 원래 공부를 잘하지도 않았고, 알고리즘은 더더욱 공부를 안했었기 때문에 기대를 하고 보진않았다. 가벼운 마음으로 문제를 확인하는데 5문제 모두 나에게 너무 어려워서 두 문제만 풀자는 생각으로 시험을 봤다. 결론부터 얘기하자면 한 문제만 쳐다보다가, 한 문제도 못풀었다. 문제를 적으면 안될 것 같아서 간단히 요약하면 가장 적은 가중치의 길을 찾는 문제였다. 직선으로 움직일 때와 방향이 바뀔 때 가중치가 달랐다. 단순히 최단거리? BFS지. 라고 생각하고 접근을 하려는데 BFS가 뭐였는지 잘 기억이 안났다. 이때부터 내가 정말 심각한 상태구나 라고 느꼈던 것 같다. 과거에 풀었던 문제를 보며 한참을 걸려 완성시킨 것 같았는데 계속 오답이었다. BFS를 이용해서..