AtCoder Beginner Contest 220 A부터 D까지 업솔빙 포스팅 썸네일 이미지

알고리즘/atcoder

AtCoder Beginner Contest 220 A부터 D까지 업솔빙

AtCoder Beginner Contest 220 A부터 D까지 업솔빙 atcoder에서는 동적 계획법과 간단한 그래프 문제를 공부하고. 코드포스에서는 그리디와 구현 그리고 수학 마지막으로 이분탐색을 공부하는 방식으로 생각하자. 그런데 이번 대회의 DP는 진짜 80%는 접근 했는데 점화식에서 왼쪽 항은 맞았지만 오른쪽 항이 틀려서 아쉽게 답을 참고하고 풀었다. 문제 옆에 붙어있는 난이도는 Atcoder Problems 에서 추정한 것으로 작성했다는 것을 미리 알린다. A - Find Multiple (*14) 접기/펼치기 문제 설명 $A$와 $B$사이에서 $C$의 배수인 값을 찾아라. 만약 그런 숫자가 없다면 $-1$을 출력하라. 문제 해설 $A$와 $B$가 $1000$보다 작기 때문에 그냥 완전탐색을..

2022.04.29 게시됨

Educational Codeforces Round 120 A부터 B까지 업솔빙 포스팅 썸네일 이미지

알고리즘/codeforces

Educational Codeforces Round 120 A부터 B까지 업솔빙

Educational Codeforces Round 120 A부터 B까지 업솔빙 C번 문제가 너무 어려워서 패스. 이분탐색 문제인데 좀 더 복잡한 수학이 결합되어 그런지 이해하기 어려웠다. 너무 배끼는 듯한 느낌이 들어서 업솔빙하는게 아니라는 판단이 들어 이번에는 B까지만 업솔빙 하려한다. A. Construct a Rectangle (*800) 접기/펼치기 문제 설명 길이가 $l_1, l_2, l_3$인 세 막대기가 있다. 이 막대기중 하나를 부숴 다음 조건을 맞춰 두 조각으로 만든다. 두 조각은 양수 길이이다. 두 조각의 합은 원래 부수기전 막대기의 길이와 같다. 만들어진 4개의 조각으로 각각 사각형의 한 변으로 사용해 정확히 직사각형을 만들 수 있다. 막대기의 길이가 주어졌을때 위의 조건을 만족하는..

2022.04.24 게시됨

Codeforces Round #763 (Div. 2) A부터 C까지 업솔빙 포스팅 썸네일 이미지

알고리즘/codeforces

Codeforces Round #763 (Div. 2) A부터 C까지 업솔빙

Codeforces Round #763 (Div. 2) A부터 C까지 업솔빙 B번 문제를 이해 못해서 엄청 낮은 퍼포를 받았다. 심지어 A번 문제 해답을 생각하기까지 40분이라는 시간이 걸린걸 보면 나는 알고리즘에 재능이 없는게 아닐까? 너무 실력이 들쑥날쑥 한것 같다. 폭풍성장을 희망하면서 해설 시작해보자. A. Robot Cleaner (*800) 접기/펼치기 문제 설명 로봇 청소기가 사방이 벽으로 둘러싸인 직사각형 방 바닥에 놓여있다. 바닥은 길이가 $n$인 행과 $m$인 열로 이루어져 있다. 바닥의 행은 맨 위에서 1부터 $n$까지 번호가 있고, 열은 왼쪽부터 오른쪽으로 $1$부터 $m$까지 번호가 매겨져 있다. 로봇 청소기의 초기 위치는 $(r_b, c_b)$이다. 1초에 로봇 청소기는 행 $d..

2022.04.18 게시됨

AtCoder Beginner Contest 219 A부터 D까지 업솔빙 포스팅 썸네일 이미지

알고리즘/atcoder

AtCoder Beginner Contest 219 A부터 D까지 업솔빙

AtCoder Beginner Contest 219 A부터 D까지 업솔빙 Dynamic Programming 너무 싫다. 문제해설을 보고나서 이해가 된다고 생각해 돌아서면 다시 까먹는다. 이번 대회 셋도 결국 Knapsack-problem이었는데, 쫄아서 못풀었다. 너무 화나났다. 이것도 인내해야하니... 이번 대회에서 얻어간 것은 문자열 대소 비교 함수 만들기 Knapsack문제 제발 이해하고 문제 풀어보기. 문제 옆에 붙어있는 난이도는 Atcoder Problems 에서 추정한 것으로 작성했다는 것을 미리 알린다. A - AtCoder Quiz 2 (*6) 접기/펼치기 문제 설명 Atcoder 왕국에는 프로그래밍 능력을 측정하기 위한 검사가 진행중이다. 참여자는 최대 $100$점까지 얻을 수 있고, ..

2022.03.21 게시됨

Codeforces Round #762 (Div. 3) A부터 C까지 업솔빙 포스팅 썸네일 이미지

알고리즘/codeforces

Codeforces Round #762 (Div. 3) A부터 C까지 업솔빙

Codeforces Round #762 (Div. 3) A부터 C까지 업솔빙 나는 개똥벌래~ 코딩을 못하네 알고리즘 못하네~ *1200도 못푸네 A. Square String? (*800) 접기/펼치기 문제 설명 어떤 문자열이 한줄에 두번 연속으로 써있으면 그 문자열을 square 이라고 한다. 문자열 $s$가 주어질때 그 문자열이 square인지 확인하라. 문제 해설 문자열이 2번 연속으로 써있는 것을 확인하기 위해서는 처음부터 문자열의 절반까지 부분 문자열이 절반부터 맨 끝까지 부분 문자열과 같아야 한다. substr() 함수를 쓰면 가볍게 해결 정답 코드 #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin...

2022.03.19 게시됨

AtCoder Beginner Contest 218 A부터 E까지 업솔빙 포스팅 썸네일 이미지

알고리즘/atcoder

AtCoder Beginner Contest 218 A부터 E까지 업솔빙

AtCoder Beginner Contest 218 A부터 E까지 업솔빙 AtCoder가 코드포스보다 높은 레이팅으로 쳐주는 이유를 이 대회를 풀면서 나왔다. 분명 800가량 퍼포먼스가 나와서 현재 레이팅이 600인 상황이었기에 조금이나마 오를거라고 생각했는데, -7점을 받았다. 도대체 무슨 기준일까? 이번 대회에서는 D번 문제에서 시간을 많이 써서 E번 문제를 풀다가 포기했다. E번 문제는 딱보면 무슨 알고리즘인줄 알았지만 그것을 응용하는 문제를 여기서 처음 만나서 그런지 헤맸다. 그리고 C번 문제는 일단 영어를 이해 못했고, 두번째로 솔직히 접근 방법조차 이해가 안됐다. 이번 대회에서 배운 것은 크루스칼 알고리즘 구현 복습 & 응용 문제 풀기 행렬의 전치 알고리즘으로 구현하기 도형의 평행이동 함수로 ..

2022.03.15 게시됨