알고리즘/백준 알고리즘
-
[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..
-
[java] 백준 알고리즘 2908번 상수 풀이알고리즘/백준 알고리즘 2018. 5. 24. 17:02
* 풀이 소스 1234567891011121314151617public class Baekjoon2908 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringBuffer sb = new StringBuffer(br.readLine()); StringTokenizer st = new StringTokenizer(sb.reverse().toString()); // 거꾸로 읽어..
-
[java] 백준 알고리즘 1316번 그룹 단어 체크 풀이알고리즘/백준 알고리즘 2018. 5. 23. 16:59
* 풀이 소스 123456789101112131415161718192021222324252627282930313233343536public class Baekjoon1316 { 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 StringTokenizer(br.readLine()); int n = Integer.parse..
-
[java] 백준 알고리즘 1157번 단어공부 풀이알고리즘/백준 알고리즘 2018. 5. 23. 16:50
* 풀이 소스 123456789101112131415161718192021222324252627282930313233343536373839404142public class Baekjoon1157 { 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().toUpperCase(); // 입력되는 문자 모두 대문자로 변환 boolean flag..
-
[java] 백준 알고리즘 2675번 문자열 반복 풀이알고리즘/백준 알고리즘 2018. 5. 19. 16:34
* 풀이 소스 12345678910111213141516171819202122232425262728293031323334public class Baekjoon2675 { 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)); StringBuilder sb = new StringBuilder(); st = new StringTokenizer(b..
-
[java] 백준 알고리즘 11654번 아스키 코드 풀이알고리즘/백준 알고리즘 2018. 5. 19. 11:04
* 풀이 소스 123456789101112public class Baekjoon11654 { public static void main(String[] args){ Scanner sc = new Scanner(System.in); String ascii = sc.next(); int result = ascii.charAt(0); System.out.println(result); }}Colored by Color Scriptercs