본문 바로가기

분류 전체보기

[PHP] 방송부를 위한 설치형 음악 신청 서비스 (MuMu) 코로나-19에 의해 무료하게 집에서 시간을 보내고 있다가 무언갈 하나 만들자 보자는 생각에 MuMu를 만들게 되었습니다. MuMu는 학생들에게 음악 신청을 받아야 하는데 페이스북 페이지를 활용할 수 없거나 직접 서버를 구축하고 싶으신 분들을 위한 서비스입니다. 사실은 저희 학교 방송부에서 조만간 음악을 신청 받을지도 모르는 일인지라 혹시 몰라 만들게 되었습니다. MuMu에 대하여 크게는 음악 신청 기능과 공지 작성 기능이 존재합니다. 학생들이 학생 인증을 통해 학생임을 확인한 후에 음악을 신청하면 해당 정보를 마스터 페이지에서 확인할 수 있는 간단한 기능을 제공합니다. MuMu 사용방법 MuMu는 깃허브 페이지에서 다운 받으실 수 있습니다. 다운 받으셔서 웹서버에 업로드 하시면 간단한 설치 작업 후에 바.. 더보기
[BaekJoon] #7568 덩치 | 백준 파이썬(python) 풀이 및 접근방법 문제 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. 첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다.우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 .. 더보기
[BaekJoon] #1929 소수 구하기 | 백준 파이썬(python) 풀이 및 접근방법 문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 첫째 줄에 자연수 M과 N이 빈칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. 접근 1부터 n까지의 수 중에서 소수가 무엇인지 알아보기 위해선 2의 배수부터 n의 배수를 모두 지우면 됩니다. 이러한 방법은 무척이나 정확하나 무척이나 오래 걸립니다. 만약 이러한 방법을 이용해서 풀이하셨다면 '시간 초과'라고 표시되는 것을 보셨을 겁니다. 그럼 이러한 시간을 줄이는 방법이 뭐냐? 바로 에라토스테네스의 체입니다. 에라토스테네스가 누구길래 그 사람의 체를 알아야 하냐고 말씀하실 수 있습니다. 에라토스테네스는 중학생과 친한 철학자라고 말할 수 있겠습니다. 중1 수학에서는 .. 더보기
[BaekJoon] #2292 벌집 | 백준 파이썬(python) 풀이 및 접근방법 문제 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. 첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다. 접근 이번 문제는 수열에 대해 이해하고 있다면 해결하기 수월합니다. 수열은 단순하게 말하면 특정 규칙에 의해 나열된 수을 의미하는데 [1, 2, 3.. 더보기
[BaekJoon] 직접 문제를 풀면서 배울 수 있는 알고리즘 사이트 코딩을 취미로 하든 밥벌이로 하든 사전에 갖추면 좋은 능력이 몇 가지 있습니다. 프로그래밍 능력이야 당연히 중요하고, 그 외에도 체력 관리를 잘 하는 능력이나 구글링(?)을 잘 하는 능력도 중요합니다. 하지만 그 중에서 가장 중요한 것은 알고리즘을 이해하는 것입니다. 사람마다 생각에 차이가 있을 수 있겠으나 알고리즘을 잘 이해하고 있느냐 이해하지 못하고 있느냐는 단순 프로그래밍 업무에 차가 있을 뿐만 아니라 결과물의 속도 등에도 차이를 보일 것입니다. 그래서 많은 코딩 학원이나 영재반에서 코딩 능력을 교육할 때는 프로그래밍 언어도 가르치지만 알고리즘 해결 능력을 가르치기도 합니다. 하지만 그곳에 속하지 못하는 학생들도 존재할 것입니다. 그래서 알고리즘을 배울 수 있는 몇가지 사이트가 존재합니다. 그중 문.. 더보기
[Python] PyQt가 설치되어 있는데 VS Code에서 에러 발생시 해결방법 파이썬을 사용해서 프로그래밍을 하다 보면 PyQt 등의 Gui 라이브러리를 사용할 때가 있습니다. 사실 만년 Cui로 프로그램을 만드는 것을 합리적이지 않고 사용자 친화적인 방식도 아니기 때문입니다. 사실 PyQt는 Qt의 파생품? 시리즈? 정도로 보시면 됩니다. Qt는 웬만한 대부분의 프로그래밍 언어를 지원하는 Gui 라이브러리로서 많이 사용되고 있습니다. 서론이 길었습니다. 여튼 PyQt를 활용해서 Gui 프로그래밍을 하려고 보면 가끔 VS Code에서 에러를 내뿜을 때가 있습니다. (해결 방법을 바로 찾고 싶으시다면 쭈욱 내리시기 바랍니다. 찾는 과정이 작성되어 있습니다.) 이렇게 말이죠. from에 밑줄이 쳐져있다는 것은 모듈을 불러오는 데에 문제가 생겼다는 것입니다. 한번 에러 내역을 보겠습니다.. 더보기
[Python] 나이스 학교코드 크롤링하는 방법 본 글은 제가 나이스 학교코드를 크롤링하는 로직을 찾아낸 방법에 대해 작성한 글입니다. 따라서 타 강좌 글보다 내용이 부실하거나 제대로 이해가 되지 않을 수 있습니다. 크롤링 하는 로직을 찾는 방법은 이렇구나 하는 정도로만 이해해 주시기 바랍니다. (__) 나이스에서 급식 정보나 학사일정과 같은 학교 관련 정보를 받아올려면 나이스에서 각 학교별로 부여하는 '학교코드'라는 것이 필요합니다. 문제는 이 학교코드라는 것을 쉽게 얻을 수 없습니다. 나이스 측에서 공식적으로 제공하는 api도 존재하지 않기 때문이죠. 그래서 원래는 수입축산물 이력관리시스템에서 코드를 받아왔었습니다. 꽤 오랫동안 정상적으로 받아왔기에 괜찮을 줄 알았더니만 대한민국 정부 서비스 아니랄까봐 '공인인증서'를 도입하고 말았습니다. 그래서 .. 더보기
[Python] 학교 코드, 급식, 학사일정 데려오는 모듈 (NiPy) 프로그래밍 언어를 배우다 보면 자신만의 프로그램을 만들고 싶어 질 때가 있습니다. 강좌나 책에서 제시하는 예제나 문제만 풀면 흥미가 사라지기 마련입니다. 사실 자신만의 프로그램을 만드는 것은 무척이나 좋은 시도입니다. 천년만년 책만 들여다보면서 예제만 풀면 실력이 늘지 않기 때문입니다. 대표적인 예가 바로 영어입니다. 보통 10년 정도 영어를 배우지만 할 줄 아는 건 "하와유? 아임 파인 땡큐" 이것밖에 없는 이유도 직접 해본 적이 없기 때문입니다. 그래서 전 옛날에 영어를 접.. 읍읍 서론이 길었습니다만 여튼 결론은 많은 분들이 프로그램을 만들고 싶어 하신다는 겁니다. 저 또한 그랬습니다. 당시에 html와 css, php를 다룰 줄 알았던 저에게 파이썬은 새로운 언어였습니다. 그리고 php로 저만의 .. 더보기