내가 짠 코드.

다른 사람이 짠 코드


효율성에서도 내 코드가 더 길고, 속도도 느리고, 메모리도 더 많이 차지한다.
내가 푼 방식
1. 연속된 0과 1의 구간을 구하여 배열에 추가한다.
2. 둘 중 더 짧은 배열의 길이를 출력한다.
다른 사람 코드 리뷰
요즘 카카오, 쏘마 코테 등을 보면서 코딩 테스트에는 어느정도 수학적 사고를 요구한다고 느꼈다.
count + 1 // 2 도 엄청난 수학적 사고가 필요한 것은 아니지만, 그래도 왜 이렇게 되는지 꼼꼼히 잡고 넘어가자.
문자가 바뀌는 시점을 모두 count한 후, 그 값에 +1 후 // 2 연산을 수행하였다.
이게 어째서 가능한 걸까??
(음,, 진짜 왜 이렇게 되는거지?? 그냥 귀납적으로 받아들이면 되는건가,,,?)
리뷰
일단 저렇게 풀거면 굳이 배열에 인덱스를 저장할 필요도 없었다.
처음 접근할 때는 저게 쓰일 줄 알고 막 구하고 갖다 쓰려고 했다.
지금 내 문제점은 문제를 설계하며 풀지 않고, 그때그때 생각나는 방식을 막 써내리는 것 같다.
먼저 문제를 이해하고, 문제에서 요구하는 것을 캐치한 후 그것을 어떻게 풀지 생각해보자.
'개발 > 알고리즘' 카테고리의 다른 글
dfs로 조합 구하기 (0) | 2021.03.09 |
---|---|
우선순위 큐, 힙 (0) | 2021.03.06 |
[이코테] 모험가 길드 (0) | 2021.03.04 |
2020 KAKAO BLIND RECRUITMENT_자물쇠와 열쇠 (0) | 2021.02.26 |
프로그래머스_소수 찾기 (0) | 2021.02.26 |