알고리즘
-
Hello Coding 그림으로 개념을 이해하는 알고리즘 서평서평 2020. 3. 11. 10:16
1. 책정보 https://book.naver.com/bookdb/book_detail.nhn?bid=11823284 Hello Coding 그림으로 개념을 이해하는 알고리즘 알고리즘은 쉽게 말해 어떤 문제를 해결하기 위한 명령을 모아 놓은 것이다. 이 책에서 다루는 알고리즘은 다른 코드보다 속도를 빠르게 하거나 아주 흥미로운 문제를 풀기 위한 것이다. 정렬 및 탐색과 같은 작업부터 시작해서 동적 프로그래밍 및 추천 시스템과 같은 훨씬 복잡한 문제를 해결할 수 있는 방법을 배운다. book.naver.com 저자 : 아디트야 바르가바 출판사 : 한빛미디어 2. 후기 대략적으로 알고리즘에 대한 개념은 있었지만 확실하게 정리가 안되는 느낌이 들어서, 수학적 내용은 줄이고 쉽게 설명한 책을 찾다가 이 책을 알..
-
모두의 알고리즘 with Python서평 2020. 2. 7. 22:57
1. 책정보 https://book.naver.com/bookdb/book_detail.nhn?bid=12057147 모두의 알고리즘 with 파이썬 남녀노소 누구나 즐겁게 프로그래밍을 시작하세요!4차 산업혁명이 가져올 일자리와 삶의 변화 그 중심에 있는 알고리즘을 배워 보자! 인공지능이 일자리를 대체하는 시대가 되면서, 코딩 교육과 컴퓨팅 사고의 중요성이 나날이 커지고 있다. 그리고 그 중심에는 ‘알고리즘’이 있다. 도대체 알고리즘이란 무엇이며 왜 배워야 할까? 《모두의 알고리즘 WITH 파이썬》은 중요하지만 어려운 주제인 알고리즘을 초보자와 비전공자가 배울 수 있게 최대한 전문 용어와 복잡한 수학을 book.naver.com 저자 : 이승찬 출판사 : 길벗 2. 후기 기초문법과 소규모 프로젝트만 몇번..
-
프로그래머스 Lv.2 스택/큐 - 프린터 with 파이썬알고리즘 2020. 1. 14. 00:11
1. 문제 언어 : python3 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. 예를 들어, 4개의 문서(A, B, C, D)가 순서대로 인쇄 대기목록에 있고 중요도가 2 1 3 2 라면 C D A B 순으로 인쇄하게 됩니다. 내가 인쇄를 요청한 문서가..
-
프로그래머스 Lv.1 - 파보나치수 with 파이썬알고리즘 2020. 1. 13. 22:24
1. 문제 언어 : python3 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 제한 사항 * n은 1이상, 100000이하인 자연수입니다. 2. 풀이 결과(소스코드) def solution(n): a, b = 0, 1 for..
-
프로그래머스Lv.1 - 소수 찾기알고리즘 2019. 12. 23. 10:11
1. 문제 언어 : python3 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 입출력 예 #1 1부터 10 사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환 2. 풀이 결과(소스코드) def solution(n): # 짝수는 소수가 아니므로, 3~n까지 홀수값만 있는 배열 생성 numbers = set([i for i in range(3, n+1, 2)]) for i in range(3, n+1, 2): if i in numbers: # 특정수의 배수는 나누어지는 수가 있는 것이므로 해당 숫자를 배열을 돌면서 해당 배수 삭제 numbers -= set([i for i in range(i*2, n+1, i)]) # 배열생성시 3부터 시작했..
-
코드업 기초 100제 - 1098 : [기초-2차원배열] 설탕과자 뽑기알고리즘 2019. 12. 3. 10:30
1. 문제 언어 : python3 부모님과 함께 유원지에 놀러간 영일이는 설탕과자(설탕을 녹여 물고기 등의 모양을 만든 것) 뽑기를 보게 되었다. 길이가 다른 몇 개의 막대를 바둑판과 같은 격자판에 놓는데, 막대에 있는 설탕과자 이름 아래에 있는 번호를 뽑으면 설탕과자를 가져가는 게임이었다. 격자판의 세로(h), 가로(w), 막대의 개수(n), 각 막대의 길이(l), 막대를 놓는 방향(d:가로는 0, 세로는 1)과 막대를 놓는 막대의 가장 왼쪽 또는 위쪽의 위치(x, y)가 주어질 때, 격자판을 채운 막대의 모양을 출력하는 프로그램을 만들어보자. 입력 첫 줄에 격자판의 세로(h), 가로(w) 가 공백을 두고 입력되고, 두 번째 줄에 놓을 수 있는 막대의 개수(n) 세 번째 줄부터 각 막대의 길이(l), ..
-
코드업 기초 100제 - 1096 : [기초-2차원배열] 바둑판에 흰 돌 놓기알고리즘 2019. 12. 2. 15:30
1. 문제 언어 : python3 유형 : 전형적인 이중 for문 문제 기숙사 생활을 하는 학교에서 어떤 금요일(전원 귀가일)에는 모두 집으로 귀가를 한다. 오랜만에 집에 간 영일이는 아버지와 함께 두던 매우 큰 오목에 대해서 생각해 보다가 "바둑판에 돌을 올린 것을 프로그래밍 할 수 있을까?"하고 생각하였다. 바둑판(19 * 19)에 n개의 흰 돌을 놓는다고 할 때, n개의 흰 돌이 놓인 위치를 출력하는 프로그램을 작성해보자. 입력 바둑판에 올려 놓을 흰 돌의 개수(n)가 첫 줄에 입력된다. 둘째 줄 부터 n+1 번째 줄까지 힌 돌을 놓을 좌표(x, y)가 n줄 입력된다. n은 10이하의 자연수이고 x, y 좌표는 1 ~ 19 까지이며, 같은 좌표는 입력되지 않는다. 출력 흰 돌이 올려진 바둑판의 상황..
-
코드업 기초 알고리즘 100제 완주-파이썬알고리즘 2019. 11. 17. 21:55
1. 진행 내용 1) 풀이 내용 : 코드업 기초 알고리즘 100제 전체, codesignal 기초 문제 2문제 https://codeup.kr/problemsetsol.php?psid=23 문제집 / 기초 100제 codeup.kr 2) 언어 : 파이썬3 3) 기간 : 2019년 8월 28일 ~ 11월 13일 (평일에 매일 1시간씩) 4) 결과물 : github 업로드 완료 https://github.com/RobertHan96/CodeUP_BASIC100_Algorithm 5) 보완점 이중 for문, 2차원 배열에 대한 이해 (막혔던 문제들 추가 포스팅 : 1096 ~ 1099번 문제) 프로그래머스 레벨 2~3 문제 도전 2. 회고 학원에서 통해 파이썬, 스위프트의 기초 과정 수강은 완료했지만 실제로 ..