PS 76

[CF] Round #555 (Div. 3) _ 210118

(2021년 1월 20일에 작성한 글입니다.) Dashboard - Codeforces Round #555 (Div. 3) - Codeforces codeforces.com A. 그냥 구현 input의 일의 자리가 0일 수 있다는 점을 체크해야 하고 수가 줄어들어서 일의자리 수가 되면 그냥 +9를 하고 끝내면 된다는 점을 유의해주면 된다 int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll N; ll ans = 0; cin >> N; if (N % 10 == 0) { ans++; N++; } while (1) { //다시 if (N / 10 == 0) { ans += 9; break; } do { ans++; N++; } while (N %..

Programming 2021.04.26

[CF] Round #696 (Div. 2) _ 210119

(2021년 1월 20일에 작성한 글입니다.) Dashboard - Codeforces Round #696 (Div. 2) - Codeforces codeforces.com A. 그냥 구현 현재 값이거나 현재값 + 1이면 되는데 일단 +1이 되는지를 살펴보고 안되면 현재 값을 넣으면 됨 막 안 되는 경우... 그런거 생각할 필요가 없음 너무 복잡하게 생각해서 시간 많이 잡아먹었다... int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int TC; cin >> TC; while (TC--) { int N; int i; string s; cin >> N; cin >> s; vector ans(N); bool flag[3]{}; for (i = ..

Programming 2021.04.26

[BOJ] 20548 칠리소스

(2021년 1월 16일에 작성한 글입니다.) 20548번: 칠리소스 용광이는 72칠리 소스를 좋아한다. 용광이는 어떤 칠리 소스를 살지 고민중이다. 이 칠리 소스는 1단계부터 727,272단계까지의 매운맛이 있다. 72칠리 소스는 인하대학교 72호관에 있는 공장에서 제 www.acmicpc.net 문제를 정리하면 가능한 칠리 소스의 맵기를 오름차순으로 나열 한 후 앞에서부터 1단계부터 차례로 번호를 매길 때 내가 고른 소스는 몇 단계인가? 이다. ​ 처음에 메모리 초과로 틀렸는데 int 형을 사용해서 오버플로우가 나와 while문이 계속 돌아서 그랬다. long long으로 바꾸니까 맞았다. ​ chilli 라는 벡터를 만들어줘서 처음에 0을 넣고 n은 1부터 시작해서 매번 7배가 된다. 그리고 기존에..

Programming 2021.04.26

[BOJ] 20543 폭탄 던지는 태영이

(2021년 1월 16일에 작성한 글입니다.) 20543번: 폭탄 던지는 태영이 시험을 망친 태영이가 인하대학교에 폭탄을 던진다! 인하대학교는 N×N 크기의 정사각형 모양의 땅이다. 인하대학교의 모든 땅은 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c) www.acmicpc.net 와... 진짜 신기한 문제다... 처음 풀이는 가장자리부터 값이 남아있는지 확인하고(시계 반대방향으로 돎) 만약 남아있다면 M * M 영역을 돌면서 값을 빼주는 걸 반복했다. 시간 안에 해결할 수 있을 줄 알았는데 역시 어림도 없었다. 그렇게 한참 고민하다 결국 풀이를 봤다 https://altheajang.blogspot.com/2021/01/ps-boj-20543.html 놓친 포인트는 1. 굳이 가장..

Programming 2021.04.26

[CF] Round #552 (Div. 2) _ 210109

(2021년 1월 14일에 작성한 글입니다.) Standings - Codeforces Round #552 (Div. 3) - Codeforces codeforces.com 200108에 #695를 하고 충격을 받은 채로 있다가 한 시간 뒤인 2:30부터 4:30까지 했다. ​ ​ A. 수들이 순서가 뒤죽박죽인 채로 들어온다는 부분을 처음에 놓쳐서 좀 헤맸다. 정렬 한 다음에 가장 큰 값에서 나머지 세 값들을 하나씩 빼서 출력하면 된다. int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll arr[4]; int i; for (i = 0; i > arr[i]; } sort(arr, arr + 4); cout > ..

Programming 2021.04.26

[CF] Round #553 (Div. 2) _ 210113

(2021년 1월 14일에 작성한 글입니다.) Standings - Codeforces Round #553 (Div. 2) - Codeforces codeforces.com 번개 버추얼을 돌았다 결과는 2솔 ​ ​ A. 그냥 구현하면 된다. 나는 두 알파벳 사이의 거리를 구하는 함수를 만들어서 substring과 ATCG와 비교하여 각각의 거리를 더했고 그 중에 최솟값을 찾았다. int diff(char a, char b) { return min({ abs(a - b), abs(a + 26 - b), abs(b + 26 - a) }); } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int N; string s; int i, j; int..

Programming 2021.04.26

[BOJ] 1120 문자열

1120번: 문자열 길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의 www.acmicpc.net 중간고사 준비하면서 Bash와 친해지기 위해 문제를 풀어봤다. 확실히 이렇게 하고 나니까 확 익숙해졌다! shell script 처음엔 정말.. 답답했는데 계속 하다보니까 재밌다. 나중에 심심할 때 Bash로 쉬운 문제들 풀어봐야겠다. read s1 s2 s1Len=${#s1} s2Len=${#s2} if [ $s1Len -gt $s2Len ]; then tmp=$s1 s1=$s2 s2=$tmp s1Len=${#s1} s2..

Programming 2021.04.24

[BOJ] 20930 우주 정거장

20930번: 우주 정거장 첫 번째 줄에는 우주 정거장 개수 $N$과 질문의 개수 $Q$가 주어진다. ($2 \le N \le 200\,000$, $1 \le Q \le 200\,000$) 다음 $N$개의 줄에는 $i$번 우주 정거장의 양 끝점을 나타내는 $x_{i,1}$, $y_{i,1}$, $x_{i,2}$ www.acmicpc.net 2021 겨울 신촌연합 알고리즘 캠프 중급 대회에 나왔던 문제다. 대회에서 이 문제를 풀었을 때 계속 맞는 거 같은데 틀렸고 결국 시간 내에 못 풀었다. 대회 끝나고 풀이 방송에서 BOJ 17619-개구리 점프 문제랑 비슷하다고 하셔서 내 로직대로 일단 그 문제부터 풀었는데 맞았다. 그럼 이 문제도 맞아야 한다! 싶어서 아예 처음부터 짰는데 맞았다. 그래서 대회 때 냈..

Programming 2021.04.21

[BOJ] 2213 트리의 독립집합

(2021년 1월 13일에 작성한 글입니다.) 2213번: 트리의 독립집합 첫째 줄에 트리의 정점의 수 n이 주어진다. n은 10,000이하인 양의 정수이다. 1부터 n사이의 정수가 트리의 정점이라고 가정한다. 둘째 줄에는 n개의 정수 w1, w2, ..., wn이 주어지는데, wi는 정점 i의 www.acmicpc.net 우수마을 문제(1949번)랑 비슷하다 차이점이 있다면 독립집합을 찾아줘야 한다는 거. ​ 경찰차 문제(2618번)에서 처럼 dp값이 채워지는 경로를 찾아 가면 된다. 함수 print(int cur, bool flag)를 만들었고 cur 변수는 현재 확인중인 노드 번호, flag는 이 노드가 독립집합에 속해 있는 친구인지를 저장해줬다. ​ 현재 노드를 독립집합에 포함시킨 상태라면 (fl..

Programming 2021.04.14