파이썬 알고리즘 1주차 : 시험

1.개발 진행 및 완료상황 1주차 파이썬 알고리즘 시험 종료 2주차 파이썬 알고리즘 시작 업무, 개발 중 발생한 이슈/고민 또는 이를 해결한 내용 날짜와 요일, 각 달의 일 수가 주어지고 입력한 날짜의 요일을 출력하는 프로그램이 문제로 나왔다. 2월이하(2월은 28일까지), 37월(7,8월은 둘다 31일), 812월 로 조건을 나누어서 1월1일부터 몇일 후인지 출력되도록 하였다. 그 후 7로 나눠 나머지에 따라 그에 알맞는 요일이 출력되도록 구성하였다. 접근 자체는 좋았으나 너무 코드가 길어진 듯 하다. 복습하며 코드를 간결하게 쓸 수 있는지 고민해봐야 겠다. ...

2023년 3월 9일 · 1 분 · 배준수

파이썬 알고리즘 1주차 : 정렬에 관한 공부

1.개발 진행 및 완료상황 1주차 Python Algorithm 문제풀이 완료 업무, 개발 중 발생한 이슈/고민 또는 이를 해결한 내용 Quick sort를 이용하여 주어진 수를 오름차순으로 정렬하고 싶었다. 교과서로 Quick sort가 가장 빠르다고 읽어서, 그냥 가장 좋은 기능이겠거니 생각하였다. 코드도 복잡해지고 잘 안되어서 단순선택 정렬로 했다. 주어진 정수 정렬하여 출력하는 문제에서 메모리가 적게 주어졌다. 다른 문제들처럼 하니 메모리 초과 문제로 오답처리 되었다. 입력되는 수의 개수는 10만개 이상이였지만 주어지는 수의 크기는 1만 이하였기에 분명히 겹칠 가능성이 있을거라 생각했다. 그래서 1만1개짜리 리스트(인덱스와 그 위치가 나타내는 수를 일치시키기 위해서)를 만들어 각 수가 나올때마다 그 수를 인덱스로히는 리스트의 원소를 1씩 늘려준 후 각 인덱스값을 원소만큼 출력하도록 반복함수를 구성하였다. ...

2023년 3월 8일 · 2 분 · 배준수

파이썬 알고리즘 1주차 : 재귀함수

1.개발 진행 및 완료상황 1주차 Pyton Algorithm 문제 진행중(재귀함수) Python Algorithm 5강 학습 완료 업무, 개발 중 발생한 이슈/고민 또는 이를 해결한 내용 여러 줄의 input값을 지정하는 경우 이 코드를 이용해 해결하였다. 첫째줄에는 2개, 둘째줄은 셋째줄부터 input 줄의 갯수였다. import sys data = [] for i in range(2): data.append(list(map(int,sys.stdin.readline().split()))) 새로 배운 내용 재귀함수 set, pos의 특성 제곱근 (3**2) 리스트의 원소를 하나의 문자열로 만들기(join) 참고할 만한 레퍼런스들 자료구조와 함께 배우는 알고리즘 입문 파이썬편(BohYoh Shibata 지음, 강민 옮김, 이지스 퍼블리싱) ...

2023년 3월 7일 · 1 분 · 배준수

파이썬 알고리즘 1주차 : 기초 문제

1.개발 진행 및 완료상황 1주차 Python Algorithm 기초 문제 완료 1주차 Pyton Algorithm 문제 진행중 Python Algorithm 1,2강 학습 완료 업무, 개발 중 발생한 이슈/고민 또는 이를 해결한 내용 data 라는 list에 원소를 추가할 때 문제가 발생했다. 위의 코드는 new_data가 nonetype이 되어버려 뒤 코드에서 말썽을 일으켰다. 밑에 방식으로 해야 data가 원소만 추가한채로 유지되어 이후에도 계속 사용할 수 있다. new_data = data.append(N) data.append(N) 오늘 푼 문제들 중 소수(prime number) 다루는 문제가 많았다. 교과서에서는 소수 2,3을 list에 넣고 자신보다 작은 소수에게 나누어 떨어지지 않으면 소수라는 개념으로 반복문의 계산횟수를 줄였다. 백준 문제풀이에서는 딱히 사용할 일이 없었다. 그저 주어진 값이 소수인지만 중요해서 2부터 자신의 제곱근보다 작은 수까지 나머지 값이 0이 아닌지 반복해서 찾도록 코드를 구성했다. sys.stdin.readline()함수를 이용해 python의 여러 줄의 input값을 이용하는데 어려움이 많았다. 특히 표본의 갯수 N을 두번째 줄에 넣는 문제는 정말 힘들었다. 밑 코드를 이용해 두 줄만 읽어내고 첫 줄에서 두개, 두번째 줄에서 표본 갯수에 관한 값을 찾아냈다. import sys data = [] for i in range(2): data.append(list(map(int,sys.stdin.readline().split()))) N = data[1][0] X, Y = data[0][0], data[0][1] ...

2023년 3월 6일 · 2 분 · 배준수

0주차 미니 프로젝트 종료

1.개발 진행 및 완료상황 0주차 미니프로젝트 완료(소모임 생성 및 참여 웹페이지) 1주차 파이썬 기초 알고리즘 공부 중 업무, 개발 중 발생한 이슈/고민 또는 이를 해결한 내용 소모임 등록 후 중복참여 방지 기능 : 모임 등록시 생성자가 포함된 참여 user ID가 담긴 table이 생성되도록 하였다. 문자열’g’와 1부터 증가하는 숫자(num += 1)를 결합하여 제목으로 부여하여 제목을 고유ID로 쓸 수 있도록 하였다. 모임 생성시 모임 정보에 이 제목도 저장했고 유저 참여시 이 table에 본인 ID가 있는지 조회하도록 만들었다. ...

2023년 3월 5일 · 4 분 · 배준수

처참한 시작

2023년 2월 27일 월요일, 카이스트 문지캠퍼스에 도착했다. 주변에서 들은 이야기들도 있고, 이전 기수분들이 인터넷에 썼던 글들도 읽어봤기에 힘든 과정이 될 것은 알고 있었다. 그러려니 하는 마음으로, 도착해서 주위를 둘러보며 5개월을 지낼곳을 둘러봤다. 도착하는 사람들을 보며 나만 짐이 너무 많은가, 내가 나이가 많은 편인가 쓸데없는 생각만 하고 있었다. SW사관학교 정글 이전에 내가 한 코딩 경험은 딱 한번이었다. 학교에서 생물통계학 시간에 교수님이 가르쳐줘서 한 학기 동안 쓰던 R이 전부였다. 사실 그 수업은 이전학기 수업인 유전학을 바탕으로 진행되는 듯 했는데, 난 유전학을 듣지 않았기에 관심도 흥미도 없었던 R을 배우랴, 유전자와 관련한 논문을 해석하랴 정신을 못차렸다. 학기 중반부턴 그저 포기하고 F만 면하길 바라며 출석했다. 딱 한번뿐인 경험이었지만 내 인생의 처음이자 마지막 코딩공부라고 생각했었다. ...

2023년 3월 4일 · 6 분 · 배준수