본문 바로가기

전체

(325)
[iOS] 원형 뷰 만드는 법 카카오톡 프사와 같이 뷰를 원형으로 만드는 방법원형으로 만들기 위해서는 전제가 뷰의 크기 자체가 정사각형이어야 한다.이 예제에서는 button으로 사용하였지만 뷰의 layer를 사용하고 있기 때문에 UIView를 상속해서 사용하는 모든 객체에서 사용가능하다. /** button을 원형으로 만들어주는 함수 - parameter button : 원형으로 만들 버튼 */ func makeCircleButton(button:UIButton) { button.layer.masksToBounds = true button.layer.cornerRadius = photoButtonWidth.constant/2 // 이부분은 autolayout으로 설정해서 frame으로 얻어왔을때 제대로 동작하지 않아서 이렇게 사용, ..
[10일차][dp2] 4개의 수 - 문제 설명3개의 숫자를 이용해 4번째 숫자를 만족하는 경우의 수를 구하기1,2,3이 주어지고 4를 만족하려면1+1+1+11+1+22+1+11+2+12+21+33+1위와 같이 총 7가지가 있다.- 입력1 // 테스트 케이스1 2 3 4 // 1,2,3이 주어지고 4를 만들기- 출력#1 7 // 테스트케이스, 4번째 숫자를 만드는 중복순열의 경우의 수- 입력 예시3 1 2 3 4 1 2 3 7 1 2 5 15- 출력 예시#1 7 #2 44 #3 1843- 코드#include "stdio.h" int input[3];int goalSum;int numOfCombination[21]; int main(int argc, const char * argv[]) { int T; scanf("%d", &T); for..
[10일차][dp2] 행렬의 곱셈시 최소 곱셈 수 구하기 - 문제 설명A1부터 AN까지의 N개의 행렬을 곱하려고 함A1이 1*2 행렬 A2가 2*3 행렬 A3이 3*2 행렬일때(A1*A2)*A3을 하는경우 ((1*2)*(2*3)) *(3*2)((1*3) * (3*2)) ->1*2*3으로 6번(1*2) -> 1*3*2로 6번총 12번을 하게 되고A1*(A2*A3)을 하는 경우(1*2)*((2*3) *(3*2))((1*2) * (2*2)) ->2*3*2으로 12번(1*2) -> 1*2*2로 4번총 16번의 연산을 하게 되기 때문에행렬 곱셈의 최소 횟수는 12다.- 입력1 // 테스트 케이스3 // 행렬 3개1 2 2 3 3 2 //1*2행렬, 2*3행렬, 3*2 행렬- 출력#1 12 // 테스트케이스, 행렬 곱셈의 최소 횟수- 입력 예시3 2 2 3 3 5 3 1..
[10일차][그래프] 최장거리 구하기 - 문제 설명0->N노드로 가는 최장거리 구하기위의 경우 4 + 8 + 1 로 13이다.- 입력1 // 테스트 케이스4 7 // N, 엣지 갯수0 1 4 // 출발, 도착, 거리0 4 51 2 81 3 32 4 13 4 4- 출력#1 13 // 테스트케이스, 최장거리- 입력 예시3 2 3 0 1 1 0 2 1 1 2 6 4 7 0 1 9 0 2 3 0 3 7 1 4 2 2 3 8 2 4 1 3 4 8 4 6 0 1 10 0 2 7 1 4 2 2 3 10 2 4 3 3 4 10- 출력 예시#1 7 #2 19 #3 27- 코드#include "stdio.h" int N, E;int graph[1001][1001];int destinationNum[1001];int distance[1001]; void fin..
[10일차] [DP2] 소수의 합 - 문제 설명a와 b사이의 소수들의 합을 구하여라a가 2고 b가 7이라면 3+5로 8이다.- 입력1 // 테스트 케이스1 10 // 1<
[9일차][DP] 최소합 구하기 - 문제 설명5 2 8 8 8 4 4 8 5 8 10 9 6 3 5 위 번호판에서 오른쪽이나 아래로만 갈 수 있고 가면서 큰 수를 더했을때 최대값을 구하시오- 입력1 // 테스트 케이스3 5 // 행, 렬5 2 8 8 8 // 숫자 판4 4 8 5 810 9 6 3 5- 출력#1 44 // 테스트 케이스, 최대합- 입력 예시3 3 5 5 2 8 8 8 4 4 8 5 8 10 9 6 3 5 4 5 10 3 3 2 2 9 9 10 10 2 8 8 4 1 1 1 4 5 6 3 20 20 11 18 3 11 19 1 8 8 19 17 4 3 18 9 9 14 14 9 17 3 11 6 8 10 17 10 10 5 11 18 15 8 15 4 9 1 12 18 15 5 5 14 4 16 16 11 13 18 12..
[9일차][DP] 최대합 구하기 - 문제 설명5 2 8 8 8 4 4 8 5 8 10 9 6 3 5 위 번호판에서 오른쪽이나 아래로만 갈 수 있고 가면서 큰 수를 더했을때 최대값을 구하시오- 입력1 // 테스트 케이스3 5 // 행, 렬5 2 8 8 8 // 숫자 판4 4 8 5 810 9 6 3 5- 출력#1 44 // 테스트 케이스, 최대합- 입력 예시3 3 5 5 2 8 8 8 4 4 8 5 8 10 9 6 3 5 4 5 10 3 3 2 2 9 9 10 10 2 8 8 4 1 1 1 4 5 6 3 20 20 11 18 3 11 19 1 8 8 19 17 4 3 18 9 9 14 14 9 17 3 11 6 8 10 17 10 10 5 11 18 15 8 15 4 9 1 12 18 15 5 5 14 4 16 16 11 13 18 12..
[9일차][DP] 이항계수 구하기 - 문제 설명(x+y)^3을 하면x^3 + 3x^2y + 3xy^2 + y^3 이 나온다이 때 x^2y의 이항계수는 3이다이런식으로 (x+y)^n을 할 때 x^ay^b의 이항계수를 구하는 문제- 입력1 // 테스트 케이스2 1 1 // n, a, b- 출력#1 2 // 테스트케이스, 이항계수- 입력 예시3 2 1 1 3 2 1 5 3 2- 출력 예시#1 2 #2 3 #3 10- 코드#include "stdio.h" int N;long long int binomial[71][71]; // 이항계수 배열 int main(int argc, const char * argv[]) { int T; scanf("%d", &T); for(int tc = 1;tc