본문 바로가기

반응형

전체 글

(645)
백준 : 1022 메모리초과를 해결하는 아이디어를 얻지못해서 한참 해맸던 문제이다. 이때 문제에 힌트에서는 r1~r2 c1~c2 범위가 200을 넘지않는다. 따라서 y,x 를 조작하면서 범위안에 들어왓을 때 배열에 저장해주면된다. 문제를 풀면서 한참해맨게 있는데 절대값이 5000이라는 힌트를보고 10000*10000 의 카운트 개수가 한계라고 생각하고 while(1억일때 브레이크)를 해주어서 틀리게 되었다. package algo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class B1022 { static int dy[] ..
삼성 서류합격 서류합격 이제 열심히 코딩 테스트 준비해야겠다!
java : ArrayList : subList, reverse 자바에서 ArrayList를 나눌 때는 subList라는 것을 사용한다. ArrayList next = new ArrayList(list[y][x].subList(index, length)); Collections.reverse(next); list[y][x] = new ArrayList(list[y][x].subList(0, index)); 하지만 위처럼 next리스트에 subList를 넣을때는 new ArrayList를 해서 동적할당해준다. 이유는 list.subList의 반환형은 List이기 때문에 할당 되지 않는다. 마찬가지로 Collections.reverse를 사용해서 ArrayList를 역배열로 선언할 수 있다. subList(x,y) 는 x번째 인덱스부터 y번째까지를 반환한다. 즉.. x ..
백준 : 2252 DFS ,BFS 줄세이구 풀이방버은 DFS 접근과 BFS 접근이 있다. 1. DFS 풀이방법 보기에서 주어지는 순서는 그래프를 나타낸다 필드상에 여러그래프들을 DFS 탐색하고 종료되는 순서 stack에 저장한다. Stack 에 pop하는 순서대로 위상정렬된 순서이다. 2. BFS 풀이방법. u->v 로간다면 v의 카운터를 1증가시킨다. 이렇게보면 현재 줄을 세울수 있는 사람은 cnt = 0인 사람이다. 이원리로 BFS탐색을한다면 위상정렬이 이루어 진다. DFS 코드 package 백준; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java..
백준 : 2262 그리디로도 풀 수 있다는데 dp로 풀었다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class Main { static int N; static int dp[][]; static int..
백준 : 4354 java https://www.acmicpc.net/problem/4354 4354번: 문자열 제곱 문제 알파벳 소문자로 이루어진 두 문자열 a와 b가 주어졌을 때, a*b는 두 문자열을 이어붙이는 것을 뜻한다. 예를 들어, a="abc", b="def"일 때, a*b="abcdef"이다. 이러한 이어 붙이는 것을 곱셈으로 생각한다면, 음이 아닌 정수의 제곱도 정의할 수 있다. a^0 = "" (빈 문자열) a^(n+1) = a*(a^n) 문자열 s가 주어졌을 때, 어떤 문자열 a에 대해서 s=a^n을 만족하는 가장 큰 n을 찾는 프로그램을 작성하시오. www.acmicpc.net KMP 알고리즘의 Pi값을 이용해서 문제를 풀수 있었다. ababab 문자열의 Pi값을 구해보면 = [0, 0, 1, 2, 3, 4]..
백준 : 17387 https://www.acmicpc.net/problem/17387 17387번: 선분 교차 2 첫째 줄에 L1의 양 끝 점 x1, y1, x2, y2가, 둘째 줄에 L2의 양 끝 점 x3, y3, x4, y4가 주어진다. www.acmicpc.net ccw을 이용한 문제 평행하는 순간에 예외처리를 해주면된다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 7..
백준 : 3025 java (돌 던지기) https://www.acmicpc.net/problem/3025 3025번: 돌 던지기 문제 이 모든 사건의 시작은 2주 전이었다. 그 날 상근이는 복도에 누워서 잠을 자고 있었다. 커다란 돌을 들고 그 옆을 지나가던 민혁이는 복도에서 잠을 자는 사람을 처음봐서 신기하게 쳐다보고 있었다. 그 때였다. 들고 있던 돌을 상근이의 왼 발에 떨어뜨렸다. 상근이는 응급실로 실려갔고, 한 달 동안 침대에 누워서 휴식을 취해야 한다는 진단을 받았다. 민혁이는 미안한 마음에 하던 일을 모두 중단하고 상근이를 간호하기로 했다. 상근이는 2주 동안 온라인 저 www.acmicpc.net 시뮬레이션 문제 하지만 매 쿼리마다 시작지점에서 도착지점을 찾는다면 for문이 3만번 매번돌아서 시간초과를 발생한다. 따라서 현재 쿼리..

반응형