PS 기록 18

2457 - 공주님의 정원 (Greedy 자력솔하기)

https://www.acmicpc.net/problem/2457 2457번: 공주님의 정원 첫째 줄에는 꽃들의 총 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 각 꽃이 피는 날짜와 지는 날짜가 주어진다. 하나의 날짜는 월과 일을 나타내는 두 숫자로 표현된다. 예를 들어서, www.acmicpc.net 원트에 자력솔 성공했다! 채점 돌아갈 때 심장이 넘 떨렸다... 내가 구현을 깔끔하게 잘 못짜는 편이라 코드가 너무 길어지기도 했고 내가 생각한대로 딱! 구현하려다보니 뭔가 꽉 막힌 구현이 된 것 같다. 어제 알고리즘 캠프에서 그리디를 배워서 오늘 그리디 문제를 뒤적거리다가 전에 누가 추천해준 문제이기도 하고, 어제 푼 난이도랑 비슷할 것 같아서 골랐다. 그리디 접근 방식을 연..

PS 기록/Algorithm 2024.02.14

Codeforces Round 923 (Div. 3) upsolve

A. Make it White 흰색 타일(W)과 검정색 타일(B) 두 개가 일렬로 쭉 주어지는데, 일자로 한 번 칠해서 모두 흰색으로 바꾸려고 한다. 여기서 칠해야하는 min length를 구하는 문제. B가 처음 나오는 위치 ~ B가 마지막으로 나오는 위치를 찾아 길이를 출력하면 된다. import sys input = sys.stdin.readline T = int(input()) for i in range(T): n = int(input()) st = list(input().rstrip()) res_min = n res_max = 0 for s in range(n): if st[s] == 'B': res_min = min(s, res_min) res_max = max(s, res_max) print..

PS 기록/CP 2024.02.14

700솔 기념

딱히 의식하지 않고 평소처럼 문제를 하나 풀었는데 700솔에 레이팅도 1800으로 딱 떨어져서 신기했다. 전부터 쭉 생각해온게, 확실히 PS 할 때 마음 붙일 곳이 있으면 혼자 하는 것보다 훨씬 나은 것 같다. 공부 자극도 받고 동기부여도 되고 나보다 실력이 압도적으로 좋으신 분들에게 양질의 피드백도 받을 수 있다. 주변에 좋은 분들이 많으셔서 질문 하면 우다다 달려와서 대답해주시는 분들이 많은 것 같다. 또한, 항상 작은거에도 칭찬해주시는 우리 스터디 그룹원들에게도 감사드린다..!! 고수분들이 이룬 것에 비하면 별거 아닌 자취일수도 있지만 뉴비들도 힘이 나게 응원해주신다. 그래서 어떤 문제나 특정 알고리즘에 막혔을 때 좌절하기 보다 좀 더 문제를 붙들고 이리저리 시도해보는 태도를 갖출 수 있었다. 이제..

PS 기록 2024.02.11

Solved.ac Grand Arena Party Div 2. (Onsite) 후기 [24.02.03]

첫 오프라인 개인 대회를 solved.ac에서 주최하는 그랜드 아레나 파티로 시작하게 되었습니다! 무척 특별하고 의미있는 경험이라서 후기를 적어봅니다.학기 중에 스케줄도 많고 졸업 준비를 하느라 바쁜 와중에 오프라인 대회를 경험하고 싶어서 아레나에 자주 참여했습니다. 아마 개근은 못했을텐데 자주 참여한 덕분에  5회 이상 참가 조건(맞나?)으로 초청받을 수 있었습니다.PS를 하면서 오프라인에 아는 분이 있는 것도 아니고, CP에 자신이 있는 것도 아니고... 경험도 부족한 제가 왜 이렇게 PS에 동기부여가 됐는지는 모르겠지만 Solved.ac 를 통해서 PS에 더 쉽게 접근할 수 있었고 여기까지 오게 된 것 같습니다! (무한한 감사를 드립니다...)처음 초청 메일을 받았을 땐 깜짝 놀랐고, 딱히 아는 분..

PS 기록/CP 2024.02.06

[신촌 ICPC 알고리즘 캠프] 최단거리 알고리즘 (24.01.22)

해당 수업에서 최단거리를 구하는 여러 가지 알고리즘에 대해 간단히 리뷰했다. 0-1 BFS, 다익스트라, 벨만포드 정도를 간단하게 알려주셨다. 직접 해당하는 알고리즘의 문제를 풀면서 배운 점을 적어놓으려고 한다. 13549 - 숨바꼭질 3 (G5)https://www.acmicpc.net/problem/13549이 문제는 아마도 저번 여름 캠프때 나왔던 것 같다. 이미 풀려있는 문제여서 다시 C++으로 풀어보면서 재제출했다.사실 내게 다익스트라는 골드 하위 문제 날먹 알고리즘 정도였는데.. 한 때 스트릭 용으로 G4~G5 정도의 기본 다익 문제만 푼 적이 있다. 그런데 이렇게 연습해도 응용 문제가 되면 헷갈리는 것 같다. 아직 경험이 부족해서 그런가보다. 그래프의 형태가 기본 그래프와 달라지거나, 특수한..

PS 기록/Algorithm 2024.01.23

알고리즘 스터디 기록 24.01.06

23년 여름 대회 참가를 위해서 급조(?)한 팀이 같은 뜻을 가지고 오래 지속되어 기쁘다. 대회 이후에도 쭉 같이 스터디를 하고 내용을 기록하고 있다. 다만 블로그에 전부 올리기는 무리라서.. 지금까지 한 번도 안올렸는데, 중간 점검 차원에서 블로그에 포스팅하게 되었다. 아무래도 우리 학교는 알고리즘보다 개발 동아리/개발쪽 행사들이 메인인 분위기라서 같이 알고리즘 공부할 사람을 찾는 게 어렵다. 그나마 찾으려고 하면 거의 졸업할 때 쯤 코테를 준비하느라 효율적으로 몇문제 푸시는 분들 정도? 그동안 교내 자율 스터디에 조금씩 참여했었는데 다들 하루 한문제 인증만 하는 식이고, 알고리즘에 대해서 더 공부하거나 같이 이야기를 나누거나 하는 일은 없었다. 아무래도 알고리즘에 재미를 붙이고 쭉 이어나가는 사람은 ..

PS 기록/Algorithm 2024.01.07

Codeforces - Problemset (rating 1000-1400) 문제 밀기

더보기 1851C- Tiles Comeback (1000) https://codeforces.com/problemset/problem/1851/C Problem - 1851C - Codeforces codeforces.com Tag : Greedy 1850F - We Were Both Children (1300) https://codeforces.com/problemset/problem/1850/F Problem - 1850F - Codeforces codeforces.com Tag : Bruteforce, Implementation, Math, Number Theory 이 문제는 본 대회 때 시간이 부족해서 못 푼 문제이다. 아마 내 기억상으로 문제 좀 읽..

PS 기록/CP 2023.09.03

2023 여름방학 PS 회고록

여름 방학의 마지막 날이 와버렸다. 아 개강 싫다.. 그래도 더 바빠지기 전에 회고록을 빨리 쓰고 싶어서 왔다. 방학 동안 푼 문제 수를 보자.! 방학 시작 당시 내가 푼 문제 수는 23. 06. 29일을 기준으로 347 문제이다. (https://pearlb1ue.tistory.com/30) 현재 내가 푼 문제는 479 문제로, 479-347 = 132 문제를 풀었다. 아무래도 방학이라 그런지 학기 병행할 때보다 PS에 투자할 수 있는 시간이 더 많았다. 덕분에 내가 올해 초에 세운 목표도 달성 할 수 있었다. 1. 23년 2학기 시작하기 전에 P5 달성 -- 완료! 2. 스트릭 365+일 유지하기 -- 진행 중! 다음으로는 방학 기간 동안 아쉬운 점을 적어봤다. 1. 컨디션 관리 실패 6월 중순? 1..

PS 기록 2023.08.31

SUAPC 2023 SUMMER 후기 (+ 수정 완료!)

내 인생 첫 대회... 어리버리하고 실수도 많이 해서 넘 아쉬웠지만 그래도 이화여대 1등팀이 되어서 기쁘다. 확실히 첫 대회라 긴장도 많이 하고, 시간 배분도 잘 못해서 풀 수 있는 문제를 놔두고 어려운 문제 잡고 고통 받기를 반복했다... 그래도 경험이 있는 팀원들의 도움을 많이 받아 운이 좋았다. 문제나 캠프 관련된 후기는 나중에 오픈콘이 끝나고 작성할 예정이다! 오픈콘이 끝난 후 적어보는 대회 구체적인 후기! 우리 팀원 이름이나 핸들을 밝히기는 좀 그래서 ㅎㅎ 핸들 이니셜을 따서 M벗, K벗이라고 부르겠다. ('벗'이라는 단어는 이화여대 학우끼리 서로 부르는 애칭이다!) 1. 준비 과정 PS를 시작한지 얼마 안되었지만, 졸업 전에 SUAPC에 꼭 나가보고 싶다는 생각을 가지고 있었다. 원래는 SUA..

PS 기록/CP 2023.08.26