반응형

풀이 2

알고리즘 공부할 때 풀지 못할 어려운 문제를 마주한 경우

안녕하세요 Dibrary입니다. 알고리즘 문제를 풀다 풀지 못하겠다 싶은 문제를 마주한 경우가 꽤 있으실 겁니다. 예를 들면 백준에서 내 등급이 '실버'지만, 실버 문제를 풀지 못하는 경우 이런 경우 많죠. 근데, 그러면 대부분 1~2시간 가량 고민해 본 뒤에 다른 사람의 해답을 봐라. 라고 합니다. 근데, 거기서 끝내면 자기 공부가 안 됩니다. 제가 어려운 문제를 마주한 경우 어떤 방법으로 해 나가는지 정리해보겠습니다. 뭐 꼭 이렇게 해야 한다는 것은 아니지만, 확실한 것은 '저'에게 효과가 있었던 방법입니다. 1. 문제를 보고 떠오르는 생각을 정리해 둔다. 말 그대로 해당 문제는 어떤 방식으로 풀어야 할거 같다. 어떤 제약이 있는 것 같다. 그냥 단순히 접근하면 어떤 어려움에 봉착할 거 같다. 등 떠..

알고리즘 2022.06.22

[leetcode][821] - Shortest Distance to a Character

안녕하세요 Dibrary입니다. 이번에는 leetcode의 821번 문제를 정리하겠습니다. c로 주어진 문자를 기준으로 좌우 거리마다 1씩 증가하되, c문자를 또 만나면 좌우가 대칭으로 숫자가 들어가야 합니다. 제일 먼저 든 생각은 이랬습니다. c로 입력된 문자를 뽑아내어서 index를 찾는다. 그 index 주위로 +-를 계산한다. 이렇게 하면 맨 앞부분, 맨 뒷부분은 해결이 되는데, 좌 우가 같은 경우는 도저히 해결이 안 되는 겁니다. 예를 들면, 아래 처럼 한 후에, index에 해당되는 값부터 다음 index까지를 - 해 나갈 생각이었죠, 근데 그러려면 5는 -4를 해야 하고, 4는 -2를 해야하고, 3은 -1을 해야하니까, 규칙성이 없네요? 이래서 이 문제를 풀려고 온갖 방법을 헤메고 다녔답니다..

반응형