목록생활 (730)
No Rules Rules
탑 https://www.acmicpc.net/problem/25703 25703번: 포인터 공부 용모는 오늘 객체지향프로그래밍1 시간에 포인터에 대해 배웠다. 포인터란, 프로그래밍 언어에서 다른 변수, 혹은 그 변수의 메모리 공간주소를 가리키는 변수를 의미한다. C/C++에서 포인터는 ( www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include using namespace std; void solution(register int n){ if(n == 1){ cout
탑 https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include using namespace std; int main(){ ios::sync_with_stdio(false), cin.tie(NULL); register int N, i; stack ans; cin >> N; for(register int n = 0, v; n < N; +..
문자열 폭발 https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; int main(){ ios::sync_with_stdio(false), cin.tie(NULL); string str1, str2; cin >> str1 >> str2; deque ans; for..
알파벳 https://www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; char arr[21][21]; int R, C, ans, dx[4], dy[4]; bool check['Z' - 'A' + 1]; void dfs(register int x, register int y, re..
알파벳 개수 https://www.acmicpc.net/problem/10808 10808번: 알파벳 개수 단어에 포함되어 있는 a의 개수, b의 개수, …, z의 개수를 공백으로 구분해서 출력한다. www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include using namespace std; int main(){ ios::sync_with_stdio(false), cin.tie(NULL); string str; register int arr[50]{0}; cin >> str; for(auto& ch : str) ++arr[ch - 'a']; for(register int i = 0; i
N과 M (9) https://www.acmicpc.net/problem/15663 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include using namespace std; int N, M; int arr[8], ans1[8]; bool visit[8]; set ans2; void dfs(register int cnt){ if(cnt == M){ queue q; for(register int ..
섬의 개수 https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; int W, H, dx[8], dy[8], arr[51][51]; bool visit[51][51]; int bfs(){ register int ans = 0; memset(visit, false, sizeo..
분산처리 https://www.acmicpc.net/problem/1009 1009번: 분산처리 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다. (1 ≤ a > T; for(register int t = 0; t > a >> b; tmp = a ..
최소비용 구하기 https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include #include #include using namespace std; int main(){ ios::sync_with_stdio(false), cin.tie(NULL); int N, M, X, Y; set arr[1001]; int ans[10..
외판원 순회 2 https://www.acmicpc.net/problem/10971 10971번: 외판원 순회 2 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net // woohyeon.kim // kim519620.tistory.com #include #include using namespace std; int N, start, ans, arr[10][10]; bool visit[10]; void dfs(register int n, register int m, register int cnt){ i..