분류 전체보기
-
[java] 백준 알고리즘 2775번 부녀회장이 될테야 풀이알고리즘/백준 알고리즘 2018. 5. 31. 11:10
문제를 읽어보면, 0층은 호수와 사람이 사는 수가 같다. 모든 층의 1호는 1명만 산다. 초기세팅은 이렇게 위와 같이 만들어 주면 되겠다. 이중배열로 해결하면 되는 문제! 일단 몇개 그려보면 왼쪽에 사는 사람과 아래층 사람을 더하면 지금 사는 곳에 살아야 할 사람의 수가 나온다. 예시) 4층 1명 6명 21명 56명 3층 1명 5명 15명 35명 2층 1명 4명 10명 20명 1층 1명 3명 6명 10명 0층 1명 2명 3명 5명 아래쪽 층의 사람 수와 -1 호수의 사람 수를 더하면 현재 사람 수를 구할 수 있다. * 풀이 소스 1234567891011121314151617181920212223242526272829303132333435public class Baekjoon2775 { public sta..
-
[java] 백준 알고리즘 1011번 Fly me to the Alpha Centauri 풀이알고리즘/백준 알고리즘 2018. 5. 30. 16:13
노가다겠지만, 거리가 1~25까지 최소 작동 회수를 구해보면 좋을 듯 싶다. 종이에 옮겨놓으면 그나마 이해가 될 때가 많다. 0~1, 0~2, 0~3, 0~4 쭉쭉 최소 작동 회수를 구해본다. 0에서 해도 되는 이유는 결국 거리를 얼만큼 최소로 이동하느냐기 때문에 45~50이 입력되든 0~5가 입력되든 거리는 5라서 상관이 없다. 쭉쭉 구하다보면 완벽한 데칼코마니가 되는 순간 이후부터 최소 작동회수가 올라간다. 예시) 0에서 1(총 1번): 1 0에서 2(총 2번): 11 0에서 3(총 3번): 111 0에서 4(총 3번): 121 0에서 5(총 4번): 1211 0에서 6(총 4번): 1221 0에서 7(총 5번): 12211....(중략).0에서 12(총 6번): 123321 0에서 13(총 7번):..
-
[java] 백준 알고리즘 1193번 분수찾기 풀이알고리즘/백준 알고리즘 2018. 5. 30. 15:59
표를 보면 0행과 0열의 숫자가 올라갈수록 분수가 몇번째인지 규칙이 있다. 대각선으로 오르락 내리락하는 걸 볼 수 있는데, 열쪽에서 행쪽으로 대각선으로 내려오면 다음 분수는 바로 행의 아래부터 시작해서 열쪽으로 올라가는 형태다. 행쪽에서 대각선으로 열쪽으로 올라가면 다음 분수는 열의 바로 오른쪽부터 시작하는 형태다. 등차수열로 올라가는 수와 +1을 반복하면서 분수가 몇번째인지 기록하게 된다. 행이 홀수번째면 +1, 행이 짝수번째면 등차가 4로 올라가는 숫자의 합이다. 그에 맞춰 열도 행이 홀수번째면 등차가 4로 올라가는 숫자의 합이고 짝수번째면 +1이 된다. ***** 그래서 입력된 숫자가 행과 열의 사이에 있다는 걸 알게된 순간 break를 걸어 분자와 분모를 찾아준다. 12345678910111213..
-
[java] 백준 알고리즘 10250번 ACM호텔 풀이알고리즘/백준 알고리즘 2018. 5. 29. 21:12
배당된 선착순만큼 높이를 나눠주면 금방 규칙을 알 수 있는 문제였다. * 풀이 소스 12345678910111213141516171819202122232425262728293031323334353637public class Baekjoon10250 { static StringTokenizer st; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); st = new StringToken..
-
[java] 백준 알고리즘 15802번 타노스 풀이알고리즘/백준 알고리즘 2018. 5. 28. 11:18
문제가 너무 웃겼다. 최근에 어벤져스를 보고 와서 그런가 문제 내용 공감 100% 웃겨서 바로 풀어봤는데, 백준에서 돌린 출력 결과는 알 수 없으니 난 살았을까 죽었을까 ㅋㅋ -----수정함 백준 알고리즘이 다시 들어가봤더니 재채점 되어있었고 틀렸다고 표시.. 랜덤으로 해결했을 경우를 틀렸다고 기준을 바꿨다고 했다. 다시 풀었다. 입력은 주어지지 않아도 입력은 받는 걸로 구현해야 하는 것 같았다. 거기에 어떤 것을 입력했을 때 1을 출력할지 0을 출력할지도 정해주어야 하는 것 같았다. 내 이름을 넣으면 살고 아니면 죽는걸로 해결 ^^ 풀이소스에서는 블로그 이름으로 처리ㅎㅎ * 풀이 소스 12345678910111213141516171819public class Baekjoon15802 { public s..
-
[java] 백준 알고리즘 2292번 벌집 풀이알고리즘/백준 알고리즘 2018. 5. 25. 15:00
이 문제의 규칙은 등차수열! 이다. 힌트는 이 문제의 유형이 규칙찾기였기 때문이다. 어떠한 수에 도달하기 위해 갈 수 있는 방법은 왼쪽으로 돌아갈 수도, 오른쪽으로 돌아갈 수도 있어서 딱히 고정된 방향이 있는 것 같진 않았다. 어디를 가도 1에서 시작하고, 도달하고 싶은 수가 있는 방향으로 가면 중간 과정 중에 어떤 숫자를 거쳐가든, 거쳐가는 방의 갯수는 똑같았다. 범위를 구해서 그 범위를 지나가면 '하나의 방을 지나쳤다'라고 계산하면 어떨까라는 생각을 했다. 어느 순간부터 벌집이 한칸씩 바깥으로 넓어지는지를 체크해봤다. 둘러싸는 한 원의 범위 최대값을 기점으로 한칸씩 바깥으로 커졌다. 한 원의 최대값:1 -> 7 -> 19 -> 37 -> 61 도달하고자 하는 수에 도달하기 위해 이 최대값들의 사이에 ..
-
[java] 백준 알고리즘 2941번 크로아티아 알파벳 풀이알고리즘/백준 알고리즘 2018. 5. 25. 14:44
글씨들을 걸러야 할 것 같은데 어떻게 처리할지 생각해봤다. 일단 모든 알파벳에 대해 한글자씩 추가하고, 크로아티아 알파벳으로 해당되는 문자는 하나의 알파벳으로 고려하니까 그만큼 빼주면 되겠다고 생각했다. 1. 특수문자 '-'가 붙는 글자가 나오면 앞에 어떠한 알파벳이든 앞의 알파벳과 함께 크로아티아 알파벳이 되므로 특수문자 '-'로 추가된 +1을 다시 -1을 해준다. 2. 특수문자 '='가 붙는 것은 기본적으로 어떠한 알파벳이 앞에 와도 크로아티아 알파벳이 되므로 -1을 해준다. 그러나, 'dz=' 의 경우는 3개의 문자가 1개의 문자로 취급하므로 -2가 되어야한다. 3. 'nj' 와 'lj'의 경우, 하나의 크로아티아 알파벳이므로 -1을 해준다. * 풀이 소스 12345678910111213141516..
-
[java] 백준 알고리즘 5622번 다이얼 풀이알고리즘/백준 알고리즘 2018. 5. 24. 17:06
* 풀이 소스 1234567891011121314151617181920212223242526272829public class Baekjoon5622 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); String word = br.readLine(); // 입력되는 문자열 int[] perAlphabetTime = new int[26]; // 들어올 알파벳마다 걸릴 시간들의 배열 p..