알고리즘 [Study]
-
프로그래머스 쇠막대기 파이썬 문제풀이 (level2)알고리즘 [Study] 2020. 6. 3. 22:52
연구실의 여러 프로젝트들로 바쁘다보니 오랜만에 글을 남깁니다. 블록체인의 경우는 개념정리를 할 시간이 없어 시간이 나면 지속해서 올리도록 하겠습니다. 오늘부터 알고리즘 카테고리에는 프로그래머스 level2 이상의 문제풀이와 어떠한 알고리즘을 사용하였는지를 종만북과 연결 시킬 수 있으면 연결시키어 포스팅 해볼까 합니다. 앞으로 실전으로 알고리즘을 연습하는 부분을 공유하겠습니다. 쇠막대기 https://programmers.co.kr/learn/courses/30/lessons/42585 문제 설명 여러 개의 쇠막대기를 레이저로 절단하려고 합니다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자릅니다. 쇠막대기와 레이저의 배치는 다음 조건을 만족..
-
3.5 변수 범위의 이해 ( 산술 오버플로)알고리즘 [Study] 2020. 5. 12. 00:49
이 블로그 내의 모든 내용은 알고리즘 문제 해결 전략 (저 구동만 출판: 인사이트) 내용을 요약한 것입니다. 제가 이해한 대로 정리한 내용이기에 본문의 내용과 상이할 수 있습니다. 이 포스팅을 하기 전 저는 파이썬, go 언어로 코딩을 주로 하기에 산술 오버플로에는 신경을 많이 쓰지 않았습니다. 이 책의 내용을 정리하면서 파이썬은 어떻게 산술 오버플로를 해결하지? 파이썬에서 이런 문제가 없었는데? 라는 생각이 들었습니다. 검색 결과 파이썬도 산술 오버플로를 해결할 수 있는 API를 사용한다는 것을 알게 되었고 책의 내용을 정리 후에 파이썬에서는 어떻게 산술 오버플로를 해결하는지를 알아보겠습니다. * 산술 오버플로란? - 어떤 식의 계산 값이 반환되는 자료형의 표현 가능한 범위를 벗어나는 경우 - 산술 오..
-
3.3 자주 하는 실수에 관하여 (2)알고리즘 [Study] 2020. 5. 7. 22:32
이 블로그 내의 모든 내용은 알고리즘 문제 해결 전략 (저 구동만 출판: 인사이트) 내용을 요약한 것입니다. 제가 이해한 대로 정리한 내용이기에 본문의 내용과 상이할 수 있습니다. 3-1 장에 이어 자주하는 실수에 대해서 이어 정리해보겠습니다. 컴파일러가 잡아주지 못하는 상수 오타 1) 전부 대문자로 써야하는데 첫 글자만 대문자로 쓰는 경우 2) 0의 개수를 잘못 쓰는 경우 3) 자료형을 문제에 맞게 변경하지 않는 경우 스택 오버플로 1) 콜 스택(call stack)이 오버플로해서 프로그램이 강제 종료 되는 경우 ( 스택 허용량에 대해 알아 둘 필요가 있다) 2) 배열 등 큰 지역 변수를 스택에 잡으면 재귀 호출이 없어도 곧장 스택 오버플로가 나기 쉽다. 3) 자동으로 힙에 메모리를 할당하는 STL 컨..
-
3.3 자주 하는 실수에 관하여 (1)알고리즘 [Study] 2020. 5. 6. 21:25
이 블로그 내의 모든 내용은 알고리즘 문제 해결 전략 (저 구동만 출판: 인사이트) 내용을 요약한 것입니다. 제가 이해한 대로 정리한 내용이기에 본문의 내용과 상이할 수 있습니다. 프로그래밍에서 아무리 강력한 알고리즘이라도 모든 문제에 사용할 수 있는 것은 아니다. 하지만 코딩 과정은 어떤 문제를 풀 때나 항상 필요하다. 따라서 어떤 의미에서는 코딩 능력이 가장 중요하다고 볼 수 있다. 간결하고 효율적인 프로그램을 작성하는 능력은 프로그래밍 대회에서 얻어 갈 수 있는 가장 큰 소득 중 하나이다. 이 장에서는 와 프로그래밍 대회에서 자주 하는 실수들에 대해서 다룬다. 1. 좋은 코드를 짜기 위한 원칙 간결한 코드를 작성하기 프로그래밍 대회에서 코드를 작성할 때의 첫 번째 원칙은 가장 간결한 코드를 작성하라..
-
알고리즘 문제 해결 전략 정리알고리즘 [Study] 2020. 4. 29. 09:12
이 블로그 내의 모든 내용은 알고리즘 문제 해결 전략 (저 구동만 출판: 인사이트) 내용을 요약한 것입니다. 제가 이해한 대로 정리한 내용이기에 본문의 내용과 상이할 수 있습니다. 알고리즘에 대하여 공부를 시작하다보니, 게임 개발쪽에서 C언어를 쓰고있는 형의 추천으로 이 책을 보게 되었다. C언어를 모르고 이제 JAVA, Python을 2개월 째 공부하고 있는 나에게는 너무 어려운 내용이었다. 그래서 욕심을 버리고 하루 10페이지 씩 읽고 그 내용을 정리하고자 한다. 1,2 장 정리 내용 알고리즘을 준비하려면 C언어를 공부하는 것이 좋겠지만.. 연구실에서 시간이 없기에 모든 코딩은 파이썬으로 진행할 예정입니다~ 원래는 프로그래머스 같은 곳에서 문제를 보고 코딩부터 시작했는데, 이제는 문제를 위와 같은 6..