전체 글

개발의 왕도는 없습니다 그저 포기 하지 않고 끊임없이 해야 합니다
알고리즘/문제풀이

백준 10828번 스택 - Python

문제 정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 다섯 가지이다. push X: 정수 X를 스택에 넣는 연산이다. pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 스택에 들어있는 정수의 개수를 출력한다. empty: 스택이 비어있으면 1, 아니면 0을 출력한다. top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보..

알고리즘/문제풀이

백준 4153번 직각삼각형 - Python

문제 과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오. 입력 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. 출력 각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다. 예제 입력 1 6 8 10 25 52 60 5 12 13 0 0 0 예제 출력 1 right wrong right 위 문제는 사실 중고등학교 시절 배우던 피타고라스의 정리를 알고 있느냐를 물어보는 것 같았습니다 이 문제에서 맨 마지막 숫자가 가장 큰 숫자라거나 하는 표현을 하지는 ..

알고리즘/문제풀이

백준 2231번 분해합 - Python

분해합 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다. 예제 입력 1 216 예제 출력 1 198 처음에 문제를 이해하는 것이 어려웠습니다...

알고리즘/문제풀이

백준 1929번 소수 구하기 - Python

문제는 아래와 같습니다 소수 구하기 문제 : M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. 출력 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. 예제 입력 1 3 16 예제 출력 1 3 5 7 11 13 문제의 요구사항은 m~n까지를 다 훑어보면서 소수를 출력하라는 것 입니다 가장 쉽게 만들 수 있는 코드는 다음과 같습니다 def isPrime(num): if num == 1: return False if num < 4: # 2,3 return True for i in range(2, num): # 2 ~ num-1 if..

회고

[후기] 엘리스 SW트랙 3기 후기

https://elice.training/track/sw 신청하게 된 동기 6월말에 장교로 군대를 전역하고서 개발자를 준비하려 공부를 하지만 혼자서 독학을 하다보니 뭔가 지쳐가는 것도 있었고.. 혼자 공부하다가 깊게 배우다보면 다른 공부들은 잊어버리게 되어가는 문제가 있었다... 또 스터디를 구하자니 구할 방법도 모르겠고... 프로젝트를 하자니... 어떻게 접근해야할지 감이 잘 오지 않았다. 그래서 도움을 받으면 좀 나아질 것 같은데 뭐가 없을까 찾아봤다. 마침 엘리스에서 SW트랙을 운영한다는 것을 알게 되었다. 내가 하고 싶은것은 웹 개발이었고 일반 어느 국비학원같은 Java가 아니라 혼자서 풀스택을 할 수 있다는 MERN(MongoDB, Express, React, Node.js)를 가르쳐 주는 교육..

실패기록

AWS 과금 폭탄 사건

교훈 : 모르는 건 죄다... 모르는 건 알아서 반복되지 않도록 해야 한다. 사건의 발단 때는 2.8(수) 아침에 졸린 눈으로 일어나기 힘겨워 하며 알람을 끄는데 지메일로 AWS에 문자가 하나 날라온 것이다. 사실 내가 전에 부트캠프를 수료하면서 받았던 추가 교육 자료에 있던 클라우드 기초 교육 강좌를 2.1(수) 부터 수강하면서 실습을 따라했었다. 그 강좌에서는 EC2 인스턴스를 생성하는 것부터 해서 RDS, VPC, S3, EFS 등 이것저것 많이 경험하는 강의였던 지라 사실 내가 어떤 설정을 하고 있는 것인지도 잘 모른채 따라가고 있었다. 그치만 설정 하나 했다고 해서 그게 과금이 되겠어? 라는 안일한 생각을 했는데 그것이 문제를 불렀다.. Billing 청구 시트에 들어가보니.. 나는 제대로 서비..

버전관리/Git

Github란?

- Github는 무엇일까? ● 깃허브(github) = git + Hub(저장소)의 합성어이다. 깃(git)은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전관리 시스템(위키백과) 공식 매뉴얼 사이트 : https://git-scm.com/book/ko/v2 --> 사용하는 이유는? 버전관리를 위해서이다. 우리가 프로그램을 개발할때 처음 개발하고서 그치는 것이 아니라 끊임없이 유지보수를 진행하게 된다. 새로운 업데이트를 진행하면서 지속적으로 관리를 진행하게 되는데 이를 위해서 개발된 것이 바로 Git이다 버전관리를 하는 것들을 모아놓는 저장소가 바로 GitHub이다. 사이트 주소는 [https://github.com/] 사실 대부분의 많은 개발자..

실패기록

"THERE IS NO ROYAL ROAD TO LEARNING"

배움에는 왕도가 없다. 학창시절 공부하면서 마음에 많이 새겼던 문구입니다. 쉬운 것은 없다. 그저 끊임없이 도전하고 연습할 뿐이라고 다짐을 했었는데 대학시절 컴퓨터라는 학문을 배우면서 어렵다는 생각에 기피하게 되었습니다. 사실 장사나 사업수완에 대한 공부를 더 하고 싶었던 걸지도 모르겠습니다. 그래서 복수전공으로 경영학도 배웠습니다. 대학을 다니지만 일단 군문제는 해결해야 했기에... 돈도 모으고 좀 의미있는 경험을 해보고자 ROTC를 거쳐 최전방 부대 통신장교가 되었습니다. 정말 다사다난한 일이 많았습니다. 정전나서 서버장비 다 꺼져버리고 쇼트나고 퓨즈 터져서 새벽에 긴급작업을 했던 적도 있고 긴급상황으로 야간에 CCTV 복구하러 빛도 없는 곳에서 작업을 하다가 월북시도 인원으로 오해받기도 했던 기억들..

불꽃개발자
개발의왕도