본문 바로가기

분류 전체보기184

[백준 알고리즘] 9461번 파도반 수열 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다.파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다.N이 주어졌을 때, P(N)을 구하는 프로그램을 작성하시오. #include using namespace std; long long arr[100];long long dp[100]; int main(){int x;cin >> x; arr[1] = 1;arr[2] = 1;arr[3] =.. 2017. 5. 20.
[백준 알고리즘] 4673번 셀프 넘버 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다.양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다.33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ...n을 d(n)의 생성자라.. 2017. 5. 20.
파이썬(python) 강의 6장 - 컨테이너와 반복문 - 파이썬(python) 강의 6장- 컨테이너와 반복문 - 앞선 장에서 변수에 대해서 알아보았다. 또한 다양한 데이터의 형태가 존재한다는 것도 알았다. 이번 장에는 컨테이너에 대해 알아 볼 것이다. 컨테이너는 말 그대로 무언가를 담고 있다는 것을 의미한다. 숫자나 문자열 하나만을 가지고 있는 것이 아니라 컨테이너는 하나 이상의 숫자나 문자열을 가지고 있는 묶음이라고 할 수 있다. 컨테이너의 종류에도 리스트(list), 튜플(tuple) 등등이 있는데 여기서는 리스트에 중점을 두겠다. type의 형태를 살펴보면 list로 나타나게 된다. 리스트에는 숫자와 문자열들이 다 같이 올 수 있고 각 요소들을 원소라고 한다. 원소들은 첫 번째부터 0이라는 숫자를 1씩 더해가면서 가지게 된다. 따라서 두 번째에 오는 원소.. 2017. 5. 19.
[백준 알고리즘] 3053번 택시 기하학 택시 기하학 19세기 독일 수학자 헤르만 민코프스키는 비유클리드 기하학 중 택시 기하학을 고안했다.택시 기하학에서 두 점 T1(x1,y1), T2(x2,y2) 사이의 거리는 다음과 같이 구할 수 있다.D(T1,T2) = |x1-x2| + |y1-y2|두 점 사이의 거리를 제외한 나머지 정의는 유클리드 기하학에서의 정의와 같다.따라서 택시 기하학에서 원의 정의는 유클리드 기하학에서 원의 정의와 같다.원: 평면 상의 어떤 점에서 거리가 일정한 점들의 집합반지름 R이 주어졌을 때, 유클리드 기하학에서 원의 넓이와, 택시 기하학에서 원의 넓이를 구하는 프로그램을 작성하시오. #include#include #define M_PI 3.14159265358979323846 using namespace std; int.. 2017. 5. 18.
[백준 알고리즘] 2839번 설탕배달 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다.상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다.상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. #include using namespace std; int main(){int kg;int smallSize=0; //.. 2017. 5. 18.
[백준 알고리즘] 2577번 숫자의 개수 숫자의 개수 세 개의 자연수 A, B, C가 주어질 때 A×B×C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오.예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. #include #include using namespace std; int main(){int arr[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };string num = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };int x;cin >> x.. 2017. 5. 17.
[백준 알고리즘] 2438번 별찍기 - 1 별찍기 - 1 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 * ** *** **** ***** #includeusing namespace std; int main(){int x;cin >> x;for (int i = 0; i < x; i++){for (int j = 0; j 2017. 5. 17.
[백준 알고리즘] 2193번 이친수 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다.이친수는 0으로 시작하지 않는다.이친수에서는 1이 두 번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다.예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 0010101이나 101101은 각각 1, 2번 규칙에 위배되므로 이친수가 아니다.N(1≤N≤90)이 주어졌을 때, N자리 이친수의 개수를 구하는 프로그램을 작성하시오. #include using namespace std;int main(){ int N; cin >> N; long long arr[90]; arr.. 2017. 5. 17.
[백준 알고리즘] 1789번 수들의 합 수들의 합 서로 다른 N개의 자연수의 합이 S라고 한다. S를 알 때, 자연수 N의 최대값은 얼마일까? #include using namespace std; int main(){long long S;cin >> S; long long x=0;long long num=1;while (x < S){x = x + num;num++;} if (x == S){cout 2017. 5. 17.
[백준 알고리즘] 1193번 분수찾기 분수 찾기 무한히 큰 배열에 다음과 같이 분수들을 적혀있다.1/11/21/31/41/5…2/12/22/32/4……3/13/23/3………4/14/2…………5/1……………………………이와 같이 나열된 분수들을 1/1 -> 1/2 -> 2/1 -> 3/1 -> 2/2 -> … 과 같은 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자.X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. #include using namespace std; int main(){int x;cin >> x;int i;for (i = 1; x > 0; i++){x = x - i;}if (i%2 == 1){cout 2017. 5. 17.