본문 바로가기

전체 글

(89)
[ACPC 후기] 본선 진출 코드트리랑 AWS에서 2025 AWS X CODETREE PROGRAMMING CONTEST(이하 ACPC)를 개최했고, 대회 예선은 특이하게도 COEIC 이라는 별도의 시험을 통해 진행되었다. 총 12문제로 구성되어있는데 문제별로 제한시간이 주어지고, 문제를 풀면 난이도가 계속 올라가는 시스템인 것 같았다. 아마 운적인 요소도 꽤나 작용하지 않을까 싶은 시스템이었다. 문제은행에서 난이도별 문제를 여러개 준비해놓고 풀면 더 어려운걸 랜덤으로 뽑아서 주는 느낌..? 또 특이한 시스템으로 "응시권"이 여러개여서 2번 이상도 볼 수 있는 것 같았다. 점수는 가장 높았던 것으로 채택이 되고 금요일 마감이었는데 잠이 안와서 목요일 새벽 5시에 응시를 시작했다 ㅋㅋㅋ... 금방 끝날 줄 알았는데 거의 4시간 걸렸던..
문제해결기법 조교를 하며 이번에 과제로 https://www.acmicpc.net/problem/11048해당 문제와 비슷한 문제가 나왔다, 차이가 있다면 최대가 아니라 최소라는 것 그래서 해당 문제에서 유의해야할 것은 두 가지 있다. 위 문제에서는 r+1,c+1을 이용할 필요가 전혀 없다. 음수인 값도 없기 때문에 r+1 -> c+1이나 c+1 -> r+1을 해서 손해를 볼 일이 없기 때문이다. 최소가 되도록 하기 위해서는 r+1과 c+1도 의미가 있다. 사실상 백준의 저 문제에서도 구현에서 r+1,c+1을 포함해도 문제가 없기 때문에 과제로 나온 문제에서 문제가 발생한 사람은 없었다. 다른 하나는 dp를 이용해 이 문제를 해결한다면 테두리의 값을 신경써야 한다. 보통 dp 테이블을 만들 때 n+1, m+1로 제작을 하는데 이..
[파이썬 문법] 나는 재귀를 안 썼는데 왜 recursionError가? 최근 백준 문제를 풀다가 좀 편하게 짜려고 이상한 코드를 하나 짰었다.백준 게시판에 질문도 했었는데 아무도 답이 없었고, 이상한 짓이 굉장히 하고싶어지는 시험기간의 영향으로 해결하게 된 문제이다. 문제는 요약하면 문자열 여러개가 주어지고 배치되는 순서가 주어지면 그거에 맞춰서 문자열을 배치하면 되는 문제이다. n이 50만이나 되고, 문자열 길이의 총합도 50만까지 가능하다. 따라서 일반적으로 문자열을 합치는 방식으로 풀게된다면 시간 초과가 나게 된다. 그 이유는 파이썬 문자열 연산은 최종적으로 완성되는 문자의 길이만큼의 시간이 소요된다. 조금 깊게 가보면 파이썬 문자열은 "불변성"을 갖고, 뒤에 추가되는 것이 아닌 불변하는 여러개의 문자열에서 문자를 긁어와 새로운 문자열을 만드는 것이기 때문이다.a라는 ..