04. 타일 채우기 가능여부 판단 알고리즘 ##문제## N x M 크기의 바닥에 타일을 붙이려고 합니다. 단, 타일을 왼쪽 그림과 같이 바닥의 테두리에만 붙이고 싶습니다. 붙이려고 하는 타일이 P x 1 크기의 한가지 종류만 사용한다고 할 때, 타일이 겹치는 부분 없이 바닥을 모두 덮을 수 있는지 확인할 수 있는 프로그램을 만들어 주세요.. 알고리즘/알고리즘(Java) 2015.03.30
03. 게시판 포스트 중첩부분 면적 구하기 문제 게시판에 포스터를 붙일 때, 이미 포스터가 붙여져 있으면, 기존의 포스트 면적의 절반 이상은 가릴 수 없도록 되어 있다. 만약 두 개의 포스터가 겹쳐져서 붙여져 있을 때, 아래 포스터의 보이는 부분의 면적을 구하라. 포스터는 둘 다 직사각형이며, 게시판 벽에 평행하게 붙어 있.. 알고리즘/알고리즘(Java) 2015.03.27
02. 영문자 순열 순서 알아내기 ############# 문제 ############# a,b,c,d,e,f,g,h의 8개 영문자로 만들 수 있는 순열수는 8! = 40,320이다. 이 순열들을 사전 순서로 배열하고 이들의 순서를 적어보면 아래와 같다. 문자열 순서 abcdefgh 1 abcdefhg 2 abcdegfh 3 ... ... fbhacdeg 26521 ... ... hgfedcba 40320 이렇게 8개의 영문자로 만들어진 순열이 주어질.. 알고리즘/알고리즘(Java) 2015.03.27
01. Factorial, Permutation, Combination ############# 문제 ############# n!, nPr, nCr의 정의가 아래와 같다. n! = n(n-1)(n-2)...1 nPr = n! /(n-r)! nCr = nPr/r! 임의의 양의정수 n과 r이 주어졌을 때, n!, nPr, nCr 값을 구하는 메서드를 작성하시오. ############### 풀이 ############# 1. Factorial factorial은 주로 재귀호출(recursion)을 이용해서 구한다. 구현되는 메.. 알고리즘/알고리즘(Java) 2015.03.18
00. 시작하기, 준비하기 여기서는 소소한 알고리즘 문제들을 다룰 것이다. 소소하다는 것은, 일반적으로 대학의 알고리즘 수업에서 다루는 체계적이면서 무거운 알고리즘이 아니라, 실제 프로그래밍을 하다가 접하게되는, 혹은 친구들끼지 내는 수학 수수께끼같은 문제들을 다룬다는 것을 말한다. 해서, 다루어.. 알고리즘/알고리즘(Java) 2015.03.13