반응형

알고리즘/atcoder 26

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

AtCoder Beginner Contest 226 A부터 E까지 업솔빙 D번까지 다 푼셋이다. 엣코더에서는 한 70%확률로 800까지 난이도 문제를 풀 수 있고, 그 위에 있는 난이도 문제는 50%확률로 풀 수 있는 것 같다. 티어가 오를 수 있다는 가능성이기 때문에 엣코더를 꾸준히 도전하고 싶다. 이번 대회에서 배운 내용은 무방향 그래프의 사이클 판독 특수한 경우? 라서 한번 경험해보면 좋을 것 같은 문제였다. 문제 옆에 붙어있는 난이도는 Atcoder Problems 에서 추정한 것으로 작성했다는 것을 미리 알린다. A - Round decimals (*14) 접기/펼치기 문제 설명 최대 소숫점 이하 3자리까지 표현할 수 있는 실수 $X$가 주어진다. 해당 $X$와 가장 가까운 정수를 출력하라. 문..

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

AtCoder Beginner Contest 225 A부터 D까지 업솔빙 D번을 내가 왜 못풀었을까? 계속 강조하지만 문제를 너무 어렵게 생각하지 않는게 좋을 것 같다. 때로는 문제에서 하라는 대로 그대로 구현하는 능력도 중요하다는 것을 잊지말길. 하라는대로만 하고 그 다음 시간초과가 나면 새로운 알고리즘을 생각해보자. 문제 옆에 붙어있는 난이도는 Atcoder Problems 에서 추정한 것으로 작성했다는 것을 미리 알린다. A - Distinct Strings (*12) 접기/펼치기 문제 설명 알파벳 소문자 3글자로만 이루어진 문자열 $S$가 주어진다. $S$를 나열할 때 얻을 수 있는 서로다른 문자열의 개수는 몇개일까? 문제 해설 모든 문자가 같으면 1, 모든 문자가 다르면 6, 그렇지 않으면 3을..

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

AtCoder Beginner Contest 224 A부터 D까지 업솔빙 이번 대회에서 D번 문제가 내 잊어버린 BFS감을 다시 찾는데 도움이 된 것 같다. 이전에는 BFS문제가 나왔을 때, 이해하는데만 오랜 시간이 걸렸는데, 이제는 이해할 때 생각보다 적은 시간이 걸려서 좋았다. 그리고 D번 문제가 생각보다 잘 만든 문제라서 공부하면서 기분이 좋았다. C번 문제같은 경우는 일단 완전탐색을 항상 생각하는 것이 중요할 것 같다. 심지어 정렬까지도. 문제 옆에 붙어있는 난이도는 Atcoder Problems 에서 추정한 것으로 작성했다는 것을 미리 알린다. A - Tires (*6) 접기/펼치기 문제 설명 문자열 "er"과 "ist"로 끝나는 문자열 $S$가 주어진다. 만약 $S$가 "er"로 끝나면 "er..

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

AtCoder Beginner Contest 223 A부터 D까지 업솔빙 D번 문제까지 풀어서 1000점 가량 퍼포먼스가 나와서 가상 레이팅 점수가 올랐다. 정말 뿌듯했다. DP문제를 시간내에 해결했다는 점이 정말 고무적인 성과라고 생각한다. 이제 ATcoder 1400점 갈수 있을까? 문제 옆에 붙어있는 난이도는 Atcoder Problems 에서 추정한 것으로 작성했다는 것을 미리 알린다. A - Exact Price (*6) 접기/펼치기 문제 설명 천호의 지갑에는 1개 이상의 $100$원 동전뿐이 있고, 나머지 종류의 동전은 없다. 이 지갑을 사용해서 정확히 $X$원을 지불할 수 있을까? 문제 해설 나머지 연산을 사용합시다. 정답 코드 #include using namespace std; int m..

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

AtCoder Beginner Contest 222 A부터 D까지 업솔빙 D번 문제까지 풀어서 1000점 가량 퍼포먼스가 나와서 가상 레이팅 점수가 올랐다. 정말 뿌듯했다. DP문제를 시간내에 해결했다는 점이 정말 고무적인 성과라고 생각한다. 이제 ATcoder 1400점 갈수 있을까? 문제 옆에 붙어있는 난이도는 Atcoder Problems 에서 추정한 것으로 작성했다는 것을 미리 알린다. A - Four Digits (*5) 접기/펼치기 문제 설명 $0$부터 $9999$사이 숫자 $N$이 주어진다. 4자리 정수이면 그냥 $N$을 출력하고 4자리 정수가 아닐 경우 앞에 $0$을 붙인 후에 그 숫자를 출력하라. 문제 해설 string 생성자를 사용해서 문제를 푼다. 문자열 크기가 4보다 작으면 작은 수..

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

AtCoder Beginner Contest 221 A부터 D까지 업솔빙 역대 최악의 퍼포먼스가 나올거 같지만 그냥 묵묵히 나는 문제를 푼다. 모르면 모르는데로, 알면 아는데로 문제를 계속 풀자. 내 머리를 조각하는 느낌으로 문제 옆에 붙어있는 난이도는 Atcoder Problems 에서 추정한 것으로 작성했다는 것을 미리 알린다. A - Seismic magnitude scales (*10) 접기/펼치기 문제 설명 지진의 진도는 지진에 의해 발생한 에너지크기의 로그를 씌운 값이다. 진도가 1 상승할때마다 에너지의 양은 32를 곱한 만큼 상승한다. 진도 $A$는 $B$보다 얼마나 큰 에너지를 가지고 있을까? 문제 해설 솔직히 문제는 이해 안됐지만 예시를 보면 간단히 이해할 수 있는 문제이다. 로그 스케일..

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$보다 작기 때문에 그냥 완전탐색을..

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$점까지 얻을 수 있고, ..

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

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

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

AtCoder Beginner Contest 217 A부터 E까지 업솔빙 AtCoder 최고 퍼포먼스가 나왔다. 아직도 기억나는 퍼포 1183점이고, 이 점수를 환산하면 코드포스 블루 레이팅에 해당하는 1606이다!!. 이런 가끔식 이상치들이 생겨날때 마다 내가 PS를 접지 못하는 이유가 되는 것 같아서 좋아해야할지 말아야할지 모르겠지만 그래도 뭐 어떤가? 인생 목표인 코드포스 rating 블루 or atcoder 1200이상인 목표에 더욱 가까워졌으니 지금을 즐기고 싶다. 참고로 E번까지 전부 출제자 의도에 맞게 풀어서 더욱 기분이 좋다. 이번 대회에서 배운 것은 자료구조 유형 익숙해지기 c++의 iterator와 관련된 유용한 함수 prev, next 문제 옆에 붙어있는 난이도는 Atcoder Pro..

반응형