728x90
이번주는 코드 트리로 공부를 조금 해봤다. 사실 이번주부터 시작인 줄 알고 들어갔으나 저번주부터였다는 사실을 알고 반성하며..
확실히 커리큘럼대로 학습하니까 내가 너무 맨땅에 헤딩하는 느낌이었다는 것을 느꼈다.
시뮬레이션 2 - dx, dy technique
dx = [1, 0, -1, 0]
dy = [0, 1, 0, -1]
이렇게 설정해 두고 갖다 쓰는 방식인데 회전 방향이나 문제가 요하는 부분에 따라 유연하게 배열을 구성하면 된다.
예전에도 비슷한 유형의 문제를 이상하게 풀었던 기억이 있는데 도구가 하나 더 생긴 느낌이다.
완전 탐색 1, 2
가끔은 복잡하게 생각하는 것보다 완전 탐색이 쉬울 때가 있다. 일단 완전 탐색으로 생각을 하고 만약 시간초과가 뜬다면 부가적인 부분을 덜어내는 것이 좋은 방법이라고 생각한다.
문제를 풀면서 문제가 요구하는 것들, 조건들에 따라 생각을 정리하고 코드를 작성하는 실력을 길렀다.
처음에는 이것조차 잘 되지 않았는데 난이도 순서대로 하니까 점점 익숙해져 갔다.
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
import sys
n = int(sys.stdin.readline())
points = []
for i in range(n):
points.append(list(map(int, sys.stdin.readline().split())))
min_len = sys.maxsize
for i in range(1, n - 1):
sum_len = 0
new_points = points[:i] + points[i+1:]
for j in range(1, n - 1):
sum_len += abs(new_points[j][0] - new_points[j-1][0]) + abs(new_points[j][1] - new_points[j-1][1])
if sum_len < min_len:
min_len = sum_len
print(min_len)
가끔가다가 문제를 제대로 안 읽고 삽질을 아주 예쁘게 해 놓고 다시 돌아오는 경우도 있었는데
첫 번째로!! 항상 문제 잘 읽기!!
처음 진단 테스트가 너무 엉망이어서 다시 봤는데 조금 나아진 거 같다. ㅋㅋㅌㅌㅌㅌㅋ
다음 주는 backtracking 연습해야지~~
아 맞다 git에 연결하면 알아서 기록 정리해 주는 것도 너무 좋다👍
728x90
'코딩테스트' 카테고리의 다른 글
프로그래머스 기능개발 (0) | 2024.07.29 |
---|---|
프로그래머스 하노이의 탑 (0) | 2024.07.29 |
프로그래머스 의상 (0) | 2024.07.27 |
프로그래머스 전화번호 목록 (0) | 2024.07.26 |
프로그래머스 JadenCase 문자열 만들기 (0) | 2024.07.25 |