목록
반응형
Programming/for coding test (6)
반응형
7JeY world
https://github.com/cijbest/TIL/commit/f4b4fc72293b2e35322123f8a11924cc50af6004#diff-7949c3d45a258fe543d8cf280e80747d104a8293e5c1101d0fdc7e08c419b11e Add SQLD 공부자료 · cijbest/TIL@f4b4fc7 Permalink This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. Browse files Add SQLD 공부자료 Loading branch information There are no files selected for vie..
def solution(s): answer = len(s) for i in range(1, int(len(s)/2) +1): #압축 단위는 아무리 커봤자 문자열 길이의 절반 pos = 0 #어느 위치에서 문자열을 처리하고 있는지 표현하는 변수 #압축되었을때의 길이만 필요하다..길이만 구해보겠음 length = len(s) #문자열 길이로 표현한 다음 압축되는것 만큼 빼거나 더해서 구한다 while pos + i
[boj 12851번] 숨바꼭질2 현재 index까지 올 수 있는 방법이 몇개있는지 담는 cnt[index]배열이 필요하다. check[index] = true 임에도 next위치에 가는 경로가 최단이면 cnt를 늘려주어야 한다. 아직 방문하지 않은 상태 이미 방문 했더라도 이동거리가 같은 경우 dist[next] = dist[now] +1 이라면 queue에 넣어주면 된다. public class Main { static boolean check[] = new boolean[100001]; static int cnt[] = new int[100001]; static int dist[] = new int[100001]; static int N, K; public static void bfs(int N, ..
[boj 1697번] 숨바꼭질 N : 수빈이의 위치 K : 동생의 위치 X+1 or X-1 : 걷기 X*2 : 순간이동 동생을 찾을 수 있는 가장 빠른 시간을 구하는 문제 public class Main { static int N, K; static int check[] = new int[100001]; public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); N = Integer.parseInt(st.nextToken());..
[boj 1987번] 알파벳 문제 :: https://www.acmicpc.net/submit/1987/18450536 r행 c열의 표 모양의 보드가 있다. 좌측 최 상단(1,1 or 0,0)에서 시작해 말이 최대한 몇 칸을 이동 할 수 있는지 구하는 문제. int board[][] : 입력 되는 보드 boolean check[] : 방문한 알파벳 x, y : 현재 위치 ans : 최대 방문 가능한(이동 가능한) 칸의 수 go(board, check, nx, ny, max+1) public class Main { public static final int[] dx = {0, 0, 1, -1}; public static final int[] dy = {1, -1, 0, 0}; static int ans, ..
N-Queen Queen은 같은 행, 같은 열, 대각선 양쪽 모두 공격이 가능하다. 즉, 한 행에 Queen 은 하나만 둘 수 있고, 열, 대각선 양쪽 모두 마찬가지라고 할 수 있다. calc(row) : row 행에 Queen 놓는 함수 0 ~ n-1 의 행이 존재한다. 사이에 Queen을 놓았으면 올바르다고 가정한다. (row, col)로 col은 row행 어디에 Queen을 놓을지 정하는 부분이다. check() : Queen을 (row, col)에 놓고 행, 열, 양쪽 대각선을 탐색해서 Queen의 존재 여부 체크하는 함수 시간 복잡도가 각각의 Queen을 놓을때마다 검사하기에, N^N이 된다. (대각선을 검사하지 않았을 경우) 중복 검사를 할 필요가 없도록 대각선을 체크하주는 배열을 추가적으로 ..