Algorithm32 [Java]백준 1992번 :: 쿼드트리 백준 온라인 저지 1992번 '쿼드트리' Java 알고리즘 문제풀이 풀이 이 문제는 분할정복(Divide and Conquer)로 풀면된다. 분할정복 사실은 정말 쉬운 개념이다. 복잡한 문제를 해결할 수 있는 작은 단위로 나누어 처리하고 이것을 합치면 된다. 이 문제를 풀면 백준 1780번 문제 종이의 개수도 아주 쉽게 풀 수 있을 것이다. (유사한 문제 풀기 -> 백준 1780번 문제종이 https://developer-mac.tistory.com/38) 그리고 쿼드트리는 단순히 노드가 4개 있는 것이라고 생각하면 된다. 즉, 4개로 쪼개서 4개의 노드가 생겨난다고 생각하면 된다. 먼저 입력을 받은 후 divide 함수에서 재귀적으로 동작하고 if 문을 두어 모든 원소가 0이거나 1일때 빠져나오게 하면.. 2018. 10. 28. [javaScript]가운데 글자 가져오기 * Programmers 코딩테스트 연습 : 완주하지 못한 선수문제단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요.단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 문제풀이* JavaScript 언어로 구현했습니다.이 문제는 level 1에 속하는 가장 기본적인 문제다.JavaScript로 알고리즘을 해결하면서 문제해결하는 능력을 연습하지만, javaScript의 다양한 함수를 잘 활용하려고 진행하는 이유도 있다. 사실 이번문제도 간단하게 풀었는데, 다른분들의 풀이에서 더 좋은 코드를 발견했다.123456789101112function solution(s) { let result = ''; if (s.length%2 === 0) { result += s[s.length /.. 2018. 10. 13. [JavaScript]백준 10799번 쇠막대기 * Programmers 코딩테스트 연습 : 쇠막대기 , 백준 알고리즘 문제여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저의 배치는 다음 조건을 만족한다.쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다. - 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완전히 포함되도록 놓되, 끝점은 겹치지 않도록 놓는다.각 쇠막대기를 자르는 레이저는 적어도 하나 존재한다.레이저는 어떤 쇠막대기의 양 끝점과도 겹치지 않는다. 아래 그림은 위 조건을 만족하는 예를 보여준다. 수평으로 그려진 굵은 실선은 쇠막대기이고, 점은 레이저의 위치, 수직으로 그려진 점선 화살표는 레이저의 발사 방향이다.. 2018. 10. 13. [JavaScript]완주하지 못한 선수 * Programmers 코딩테스트 연습 : 완주하지 못한 선수문제수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 문제풀이* JavaScript 언어로 구현했습니다. 해시함수에 관한 분류로 지정되있는 문제이다.사실 이 문제가 왜 해시함수 분류에 지정되있는지는 모르겠다. 단순하게 sort하고 participant 배열과 completion 배열을 비교해서 일치하지 않는 것이 나오면 바로 return해주면 끝나는 간단한 문젠.. 2018. 10. 12. [JavaScript]서울에서 김서방 찾기 * Programmers 코딩테스트 연습 : 서울에서 김서방 찾기문제String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 문제풀이* JavaScript 언어로 구현했습니다. 간단한 문제다. 이제 JavaScript를 공부하는 김에 알고리즘을 JavaScript로 연습해야겠다.indexOf() 함수를 쓰면 금방풀린다.https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf 1234function solution(s.. 2018. 10. 12. [Java]백준 4344번 :: 평균은 넘겠지 문제 대학생 새내기들의 90%는 자신이 반에서 평균을 넘는다고 생각한다. 이걸 깨야한다. 테스트 케이스 개수를 입력받고 둘째줄 부터는 학생들의 점수가 입력된다. 입력 첫째 줄에는 테스트케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 문제풀이 * Java 언어로 구현했습니다. 간단한 문제에 속한다. 이번에도 Time out문제로 Scanner가 아닌 BufferedReader, BufferedWriter를 이용해서 입력값을 받는다. 사용자가 입력한 테스트 케이스는 trim()을 이용해 n값을 받고, 두번째 줄부터 입력한 학생들.. 2018. 7. 5. 이전 1 2 3 4 5 6 다음