전체 글

Hello World
· 백준
코드#include #include using namespace std;typedef long long ll;int n,res,tc,sum,temp;int main() { cin >> tc; while(tc--) { cin >> n; res = -987654321; sum = 0; for(int i = 0; i > temp; sum += temp; res = max(res, sum); if(sum 값을 입력 받은 후, sum에 더해주고 res와 비교해서 큰 값을 찾는다. 만약 sum이 음수로 내려가면 최대가 될 수 없으므로 0으로 초기화 시켜준다.
· 백준
코드#include using namespace std;typedef long long ll;ll n, dp[120];int main() { cin >> n; dp[1] = 1; dp[2] = 1; dp[3] = 1; for(int i = 4; i 조건식에따라 구해주면 된다. 주의할 점은 int형을 사용하면 틀린다는 것.
· 백준
코드#include using namespace std;typedef long long ll;const int mod = 1000000007;ll n, dp[52],res[52];int main() { cin >> n; dp[1] = 2; dp[2] = 2; // 재귀가 늘어나는 수열은 피보나치 규칙을 따르고 있다. for(int i = 3; i 피보나치 수열을 구할 때, n
· 백준
코드#include using namespace std;typedef long long ll;ll n,temp,sum,res;int main() { while(1) { cin >> n; sum = 0; res = -10003; if(n == 0) break; for(int i = 0; i > temp; sum += temp; res = max(res, sum); if(sum 입력이 들어올 때마다 sum에 값을 더해주고, res와 비교한다. 그 후, sum이 음수가 되면 최대값이 될 경우가 없으므로 0으로 초기화시킨다. 다음 값부터 다시 더해주기 위함이다. 그 후, 반복문이 끝나면 답을 출력한다.
· 백준
코드#include using namespace std;int n, a[1003],check[1003];int main() { cin >> n; a[0] = 1; a[1] = 1; for(int i = 2; i 1001 || 2*(a[i - j]) - a[i - 2*j] 등차수열을 이루면 안된다고 했으므로, 등차수열을 이루는 값들을 찾아 거짓이라고 체크한다. 그 후 check 배열을 돌면서 등차수열을 이루지 않는 최소값을 찾아주면 된다. 주의할 것은, 인덱스의 범위를 체크해줘야 한다는 것. 다른 문제 풀면서도 놓치지 말아야겠다.
· 백준
코드#include #include using namespace std;const int INF = 987654321;int n, a[100003];int main() { cin >> n; fill(a, a + 100003, INF); a[0] = 0; for(int i = 1; i 최소값을 찾아야하므로, 배열을 매우 큰 값으로 초기화한다. 그리고 배열을 돌면서 해당 배열보다 작으면서 제곱수를 포함하고 있는 것들 중 최소를 찾고, 제곱수의 개수를 1개 더한 값과 비교해서 최소값을 찾으면 된다.
· 백준
코드#include using namespace std;typedef long long ll;ll n, a[92];int main() { cin >> n; a[1] = 1; a[2] = 1; for(int i = 3; i 풀이11 (1)21 (10)32 (101, 100)43 (1010, 1001, 1000)55 (10101, 10100, 10010, 10000, 10001)68 (101010, 101001,101000,100101,100100,100000,1000001,100010)피보나치 수열의 규칙을 따르며 증가한다는 것을 확인할 수 있다.
· 백준
코드#include using namespace std;int n,m,res,a,b,lst[500002];int find(int x) { if(x == lst[x]) return x; return lst[x] = find(lst[x]);}void merge(int x, int y) { x = find(x); y = find(y); if(x > y) lst[x] = y; else lst[y] = x;}int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> m; for(int i = 0; i > a >> b; if(find(a) != find(b)) { merge(a,b..
· 백준
유니온 파인드 코드#include #include #include #include using namespace std;int n,m,a,b,c,lst[203],road[1003],temp;bool ok = true;set st;int find(int x) { if(x == lst[x]) return x; return lst[x] = find(lst[x]);}void merge(int x, int y) { x = find(x); y = find(y); if(x > y) lst[x] = y; else lst[y] = x;}int main() { cin >> n; cin >> m; for(int i = 1; i > temp; if(temp == 1) { merge(i,j)..
· GIT
.gitignore가 작동하지 않을 때 해결법.gitignore에 파일을 추가해도 git이 이미 파일을 트래킹하고 있기 때문에 발생하는 문제이다. 아래 명령어를 이용해 캐시를 지워주면 잘 동작한다. 경험담으로, 이미 올라가있던 파일도 아래 명령어를 적용하면 내역에서 사라지는 것을 확인할 수 있다.  git rm -r --cached .git add .git commit -m "fixed untracked files" // 따옴표 안에는 적고 싶은 내용 작성주의할 점작업하던 내용이 있다면 반드시 commit을 진행하고 위 작업을 시행해야한다.
Melon Man
제발 CPU는 집에서 만들어 씁시다