알고리즘 챌린지 8일 차이다. 막상 시작해 보니 어찌어찌하고 있기는 한데, 조금 더 열심히 하려면 주말은 쉬는 걸로 할 걸 그랬나 보다.. 다다음주에는 여행을 가니 할 수 있을 때 열심히 꾸준히 해야겠다. 오늘도 프로그래머스 Level2에 분류된 문제를 가지고 왔다. https://school.programmers.co.kr/learn/courses/30/lessons/155651?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 다양한 방법으로 풀 수 있겠지만 필자는 비교적 간단하게 구간합 알고리즘을 사용했다. 배열의 길이가 100..
오늘은 백준 단계별로 문제풀기에서 누적합으로 분류된 문제를 풀이하겠다. 이전에 구간합에 대해 정리한 내용이 있어서 쉽게 풀리겠지 하고 생각을 했는데, 아니나 다를까 틀렸다. ㅜㅜ 한 가지 간과한 사실을 인지하고 코드를 수정해서 정답을 맞추었다. 처음에 생각했던 알고리즘 접근 과정과 간과했던 부분, 수정한 부분을 정리하고자 한다. 구간합에 대한 내용을 아직 잘 모른다면 여기를 눌러서 공부하고 오기를 바란다. [ 접근 과정 : 오류 있는 코드] 이 문제의 입력값의 최악의 경우를 보면 어마무시하다. 문자열의 길이는 최대값이 200,000, 최대 문제의 수도 200,000개, 구간의 최대 길이도 200,000이다. 이 문제를 단순히 반복문 만을 이용해서 풀이한다면 볼것도 없이 시간초과가 날것이다. 그렇다면 시간..