일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 위젯킷
- 알고리즘
- widgetkit
- 멋사
- dispatchqueue
- uikit
- Swift
- 리액트
- cs
- composable architecture
- 후기
- 스유
- 문법
- 멋쟁이사자처럼
- 스위프트
- 네트워크
- spritekit
- c++
- 1일1알골
- 영남대
- widget
- 컴퓨터그래픽스
- SwiftUI
- 대외활동
- 백준
- 웹
- 운영체제
- Protocol
- swift concurrency
- TCA
- Today
- Total
목록알고리즘/백준 (12)
맛동산이
문제 https://www.acmicpc.net/problem/2231 해설 그냥 1부터 천천히 한개씩 분해합을 하여서 해당값을 찾으면 된다. 단 중요한점은 해당값을 리턴하는것이 아니기 때문에 이전의 값을 저장해둬야한다. import Foundation func solution() -> Int { let n = Int(readLine()!)! for i in 1...n { var sum = i var temp = i for i in String(temp) { sum += Int(String(i))! } if sum == n { return temp } } return 0 } print(solution())
문제 (https://www.acmicpc.net/problem/2839) 해설 5가 최대한으로 많이 들어가면 되는것이기 때문에 5를 처음에 나눠지는지 비교를 하고 3을 뺀 다음 다시 5로 나눠지는지 비교 계속 해나가면된다. 마지막에 나머지가 0 이 된다면 3으로만 나눠져도 나머지는 0 일것이고, 5로 나눠진다 해도 5가 하나라도 포함된 숫자일 것이다. 따라서 n이 0 보다 크다면, 계속해서 나누다가 0보다 작아지는 순간 -1을 출력하면 된다. func solution() -> Int { var n = Int(readLine()!)! var result = 0 if n % 5 == 0 { return n / 5 } while n >= 0 { n -= 3 result += 1 if n % 5 == 0 { ..
문제 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 정답코드 #include #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, m; cin >> n; int number1, number2; vector arr1; for (int a = 0; a < n; a++)..
문제 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 정답코드 #include #include #include #include using namespace std; int main() { int n; cin >> n; queue arr1; for (int a = 1; a
문제 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 정답코드 #include #include #include #include using namespace std; int main() { int m; cin >> m; for (int c = 0; c > n; stack arr1; for (int a = 0; a < n.length(); a++) { if (n[a] =..
문제 https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 정답코드 #include #include #include #include #include using namespace std; int main() { int n, m; cin >> n >> m; set arr1; string st1; string st2; set answer; for (int a = 0; a > st1; arr1.insert(st1); } fo..
문제 https://www.acmicpc.net/problem/1269 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 정답코드 #include #include #include #include #include using namespace std; // 3 5 // 1 2 4 // 2 3 4 5 6 int main() { int n, m; cin >> n >> m; set arr1; set arr2; vector ar1; vector ar2; int num1, num2; int count1, count2;..
문제 https://www.acmicpc.net/problem/14425 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 코드 첫번째 코드 #include #include #include #include using namespace std; int main() { int n; int m; cin >> n; cin >> m; set arr1; vector arr2(n); string u; int count = 0; for (int a = 0; a > ..
문제 https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 정답코드 #include #include #include #include #include using namespace std; #define Test 0 int num1 = 0; int num2 = 0; int arr1[500001] = { 0, }; int arr2[500001] = { 0, }; void binary(int k, int n) { // n은 검..