Programming 기초/Coding Test
-
[c++ 백준 2606 ] 인접리스트, 인접행렬 풀이Programming 기초/Coding Test 2024. 9. 29. 19:47
인접행렬 풀이#include #include using namespace std;void dfs(vector> &v, const int N, const int node, vector &visited){ if (!visited[node]) visited[node] = 1; else return; for (int i = 1; i > N >> M; vector visited(N+1); vector> v(N+1, vector(N+1,0)); // 인접행렬 for (int i = 0 ; i > s >> e; v[s][e] = 1; v[e][s] = 1; } dfs(v, N, 1, visited); int cnt = 0;..
-
[bj 8958] c++, cin 다음에 cin.getline 사용할 시 cin.ignore() 해주기Programming 기초/Coding Test 2024. 7. 19. 16:29
https://www.acmicpc.net/problem/8958 동적할당을 이용한 문자열을 연습하기 위해 아래와 같이 코드를 짜보았다.#include using namespace std;int main(int argc, char **argv){ int n; cin >> n; cin.ignore(); for (int i = 0; i 주의해야 할 점cin은 버퍼에 '\n'이 남아있어서 cin.getline() 하기 전에 cin.ignore()로 버퍼를 비워주지 않으면 cin 직후의 cin.getline에 '\n'이 입력되어버린다.처음에는 아무생각없이 cin.getline 직전에 cin.ignore()를 적용했으나, cin.ignore()는 디폴트값이 버퍼의 1개를 지우는 것이므로 c..
-
[bj 3052] c++ 풀이 및 bits/stdc++.hProgramming 기초/Coding Test 2024. 7. 19. 10:08
https://www.acmicpc.net/problem/3052 내 풀이#includeusing namespace std;int main(int argc, char** argv){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int array[43]={0}; int tmp; int cnt=0; while (cin >>tmp) { int remain = tmp%42; if (!array[remain]){ array[remain]=1; ++cnt; } } cout 찾아본 풀이#includeusing nam..
-
[bj 10809] c++ 풀이 -> 문자열 동적할당 직접 구현하기Programming 기초/Coding Test 2024. 7. 12. 19:27
https://www.acmicpc.net/problem/10809#include#includeusing namespace std;int main(int argc, char** argv){ int cnt[26] = { 0 , }; string s; cin >> s; for (char i = 'a'; i 코드 출처 : https://cryptosalamander.tistory.com/11std::string과 std::find를 사용하면 쉽게 구현할 수 있는데, string을 문자열 동적할당을 이용해서 직접 구현해보았다. #includeusing namespace std;// 문자열의 길이를 반환하는 함수int slen(const char* str) { int index = 0; w..
-
[c++/bj 1152] 단어의 개수 : getline, cin 풀이Programming 기초/Coding Test 2024. 7. 2. 08:44
공백으로 구분되는 영어 단어의 나열인 문자열이 주어진다. 문자열은 공백으로 시작하거나 끝날 수 있다.#includeusing namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int cnt = 0; string str; getline(cin, str); int pre = ' '; for (int i: str) { if (pre == ' ' && i != ' ') { cnt += 1; } pre = i; } cout cin은 공백을 기준으로..
-
[softeer] 함께하는 효도 - 파이썬Programming 기초/Coding Test 2024. 6. 28. 00:02
함께하는 효도 문제https://softeer.ai/practice/7727 파이썬 정답코드import sysfrom itertools import product# 한 명이 움직이는 모든 방향의 조합 : [(0~3), (0~3), (0~3)] -> 4^3 = 64# 모든 인원의 움직이는 방향의 조합 : (64) ^ 3 = 263144input = sys.stdin.readlinen, m = map(int,input().split())graph = [list(map(int, input().split())) for _ in range(n)]start_positions = [list(map(int, input().split())) for _ in range(m)]# 모든 경우의 수t = 3 # 3초paths..
-
[softeer] 나머지 정리 활용Programming 기초/Coding Test 2024. 6. 26. 22:28
바이러스 - pythonhttps://softeer.ai/practice/6284 import sys# 2초# 1000000007# k*p^n % (7+10^8)input = sys.stdin.readlinek, p, n = map(int, input().split())result = k % 1000000007remainder = p % 1000000007for _ in range(n): result = (result * remainder) % 1000000007print(result) pow 내장함수 사용할 경우아래와 같이 간단하다.k*pow(p,n,1000000007)%1000000007 나머지 정리를 이용한 정답 코드는 아래와 같은 원리로 작동한다.A * B * C * D ... % Q 는 ..
-
[softeer] 진정한 효도 - pythonProgramming 기초/Coding Test 2024. 6. 26. 21:02
import sys# 1초 고려하자# 비용 = max - min (해당 라인), 6라인의 브루트포스# cost = [row1, column1, row2, column2, row3, column3]input = sys.stdin.readlinecost = []matrix = [list(map(int,input().split())) for _ in range(3)]for i in range(3): cost.append(max(matrix[i]) - min(matrix[i])) column = [matrix[j][i] for j in range(3)] # i번째 컬럼 cost.append(max(column)-min(column))print(min(cost))