분류 전체보기67 [2293] 동전1 n가지 종류의 동전이 있다. 각각의 동전이 나타내는 가치는 다르다. 이 동전을 적당히 사용해서, 그 가치의 합이 k원이 되도록 하고 싶다. 그 경우의 수를 구하시오. 각각의 동전은 몇 개라도 사용할 수 있다. 사용한 동전의 구성이 같은데, 순서만 다른 것은 같은 경우이다. 입력 : 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 출력 : 첫째 줄에 경우의 수를 출력한다. 경우의 수는 2의 31제곱보다 작다. 처음에 점화식을 어떻게 구해야할 지 모르겠어서 먼저 점화식과 코드를 보고, 이해해보려고 노력을 했다. 그러나 이해하기 쉽지 않아서, 문제의 예시로 나와있는.. 2020. 5. 7. [9461] 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다. N이 주어졌을 때, P(N)을 구하는 프로그램을 작성하시오. 입력 : 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, N이 주어진다. (1 ≤ N ≤ 100) 출력 : 각 테스트 케이스마다 P(N)을 출력한다. 5번째까지 규칙성이 없다보니까 문제의 .. 2020. 5. 7. [11726] 2 x n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. 입력 : 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) 출력 : 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 타일을 채워나갈 수 있는 방법은 두 가지가 있다. 1. 세로로 길게 채우는 방법 2. 가로로 눕혀서 두 개를 채우는 방법 세로 길이는 항상 2 크기를 지니고 있기 때문에 가로의 경우만 보겠다. 먼저 첫 번째 방법 처럼 세로로 길게 채우는 방법을 보면, 세로로 길게 세워서 채우는 경우에는 2x1 크기로 가로의 길이가 1만큼만 늘어난다. 반면 두 번째 방법의 경우에는, 가로로 두.. 2020. 5. 6. 다이나믹 프로그래밍(Dynamic Programming) 다이나믹 프로그래밍은 "한 번 푼 걸 다시 풀어야 하는 문제의 경우 효율적으로 풀 수 있게끔 하는 알고리즘"이다. 문제를 비효율적으로 반복해서 풀다보면, 프로그램 속도가 느려지기도 하고, 말 그대로 정말 비효율적인 코딩이 된다. 대표적인 예시를 들어보자면, 피보나치 수열이 있다. 피보나치 수열은 앞의 두 숫자를 더해서 수가 나열되는 규칙을 지니고 있다. 이 것을 점화식으로 표현하자면, 이렇게 간단하게 표현할 수 있다. 문제를 이런 식으로 풀다보면, 계속해서 구했던 값인데도 불구하고 비효율적으로 계속해서 다시 구해야되는 일이 발생한다. 5라는 숫자를 넣어서 예를 들자면, 5는 굉장히 작은 축에 속하는 숫자임에도 불구하고, 2를 3번이나 다시 계산해야된다. 더 큰 숫자의 경우에는 더 비효율적이다. 이럴 때에.. 2020. 5. 1. Stack, queue(스택, 큐) 스택(Stack)과 큐(Queue)는 자료구조의 한 형태이다. 스택(Stack)과 큐(Queue)에 대해 설명하기 앞서 연결리스트(Linked List)도 자료구조의 형태 중 하나인데 이것에 대해 간단히 얘기를 하자면, 정해진 원소 크기가 없는 리스트로 시스템에 추가되는 원소가 동적이거나 메모리 원소가 불연속적인 원소들을 효율적으로 관리해 줄 수 있는 것이다. 스택(Stack)과 큐(Queue)도 연결리스트(Linked List)와 굉장히 유사한데, 먼저 큰 차이에 대해 얘기하자면 스택(Stack)은 LIFO(Last In First Out), 큐(Queue)는 FIFO(First In First Out) 형태를 가지고 있다. 연결리스트 같은 경우에는 일련의 원소들 사이에 원소 끼워넣기가 가능하지만, 스.. 2020. 4. 17. Android Studio setClipToOutLine() in RecyclerView 리사이클러뷰에서 아이템마다 이미지를 배경으로 주고싶은데 그 아이템 배경의 모서리가 둥글기를 원할 때가 있다. 예를 들어보자면, 이런 리사이클러뷰가 있다고 친다면, 이미지가 들어간 아이템들의 모서리가 전부다 둥글다. 이럴 경우에 일단 drawable 폴더에 radius 값을 준 형태의 xml 파일을 만든다음에 아이템의 background에 이 xml파일을 입혀주는 것까지는 원래 background를 주는 방식과 동일하다. 그 후 원래는 메인에서 setClipToOutLine(ture)를 써주면 되지만, 리사이클러뷰 같은 경우에는 아이템과 리사이클러뷰의 중간 매개체 역할을 해주는 viewHolder 파일의 bind 메소드 안에서 해당 이미지 파일에 setClipToOutLine(true)를 달아주면 된다. .. 2020. 4. 10. 이전 1 ··· 3 4 5 6 7 8 9 ··· 12 다음