일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 웹개발
- clean code
- 코드잇
- 프로그래밍
- PrivateRouter
- 미켈란젤로
- KSTQB
- csts
- react
- 색연필
- IT 자격증
- 소묘
- 코딩테스트
- IT자격증
- 프로그래머스
- 연필
- 알고리즘
- leetcode
- 토익 환급
- 연필소묘
- 테스팅 자격증
- 코딩
- 그림
- 다비드상
- 파이썬
- Kriss 재택
- Python
- 재택근무
- 클린 코드
- 취미
- Today
- Total
목록전체 글 (62)
글모음
1주 차 Queue & Heap def solution(progresses, speeds): days = [0] * len(progresses) criteria, cnt = 0, 1 ans = [] for i in range(len(progresses)): while progresses[i] criteria: criteria = days[j] if j == 0: continue ans.append(cnt) cnt = 1 else: cnt += 1 if j == len(days)-1: ans.append(cnt) return an..

프로그래머스 / 임팩트 커리어 코딩 테스트와 실무 역량 모두 잡는 알고리즘 스터디 9기 [ 참여 동기 ] 혼자서 공부를 하면 다른 사람의 방해도 없이 편하게 공부할 수 있는 장점이 있지만 그게 바로 혼자 공부의 큰 단점이라는 생각이 늘 든다. 코딩 테스트를 대비하기 위해 틈틈이 알고리즘 문제를 풀고 있지만 혼자서는 내 코드가 알아보기 쉬운지, 효율성이 좋은지 도통 모를 수밖에 없다. 현재 내 상황은 알고리즘 개념은 어느정도 정리되었고, leetcode의 easy문제나 프로그래머스의 1~2단계 문제 정도는 풀 수 있는 상태여서 코딩 인터뷰 면접에 대비하기 위한 준비가 필요한 상황이었다. 혼자 공부하기보다는 스터디에 참여하면 좀 더 가독성도 좋고 효율 좋은 코드 작성 방법과 코딩 테스트를 볼 때 특별한 팁 ..

코드잇으로 한 달 동안 300 시간 넘게 미친 듯이 공부한 후기 코드잇은 코딩 인강 사이트를 찾아보다가 우연히 알게 되었는데 호기심에 들어가본 사이트엔 대부분 내가 공부하고 싶은 것들의 (MySql, JavaScript, OOP, 알고리즘, 인공지능 - 딥러닝, 머신러닝...) 등 종류가 엄청 많았다. 한 번만 결제하면 무제한으로 강의를 전부 다 볼 수 있다는데, 뷔페도 다양한 음식을 먹을 수 있지만 그렇게 질을 기대하고 가는 게 아니듯 저렴한 가격에 무제한으로 강의를 들을 수 있다면 강의 질이 낮지 않을까하는 의심이 처음에 컸었다. 그러다 작년에 코드잇에서 한 달 동안 진행하는 대코캠(대학생 코드 캠프)을 알게 되었다. 매일 코드잇으로 공부해서 인증을 남기면 우수 참여자로도 뽑히면 5만 원의 장학금도 ..
2장 의미 있는 이름 [ 의도를 분명히 밝혀라 ] 변수나 함수 그리고 클래스 이름은 다음과 같은 굵직한 질문에 모두 답해야한다. 변수(혹은 함수나 클래스)의 존재 이유는? 수행 기능은? 사용 방법은? 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다. [ 그릇된 정보를 피하라 ] 그릇된 단서는 코드의 의미를 흐린다. - 나름대로 널리 쓰이는 의미가 있는 단어를 다른 의미로 사용해도 안 된다. - 서로 흡사한 이름을 사용하지 않도록 주의 - 소문자 L이나(숫자 1과 혼동), 대문자 O(숫자 0과 혼동)도 주의해야한다. [ 의미 있게 구분하라 ] 명확한 관례가 없다면 변수 moneyAmount는 oney와 구분이 안 된다. customerInfo는 customer와, ..

1장 깨끗한 코드 - 2p. 코드가 존재하리라 코드의 종말이 코앞에 닥쳤다고 주장하는 사람이 없지 않다. 코드를 자동으로 생성하는 시대가 다가온다는 말이다. 그때가 되면 프로그래머는 필요가 없다. 영업 직원이 명세에서 프로그램을 자동으로 생성하면 되니까. 헛소리! 앞으로 코드가 사라질 가망은 전혀 없다! 왜? 코드는 요구사항을 상세히 표현하는 수단이니까! 어느 수준에 이르면 코드의 도움 없이 요구사항을 상세하게 표현하기란 불가능하다. 추상화도 불가능하다. 정확히 명시하는 수밖에 없다. 기계가 실행할 정도로 상세하게 요구사항을 명시하는 작업, 바로 이것이 프로그래밍이다. 이렇게 명시한 결과가 바로 코드다. -> 문득 유튜브에서 본 AI 기반 웹 개발 툴 시연이 생각난다. 기억은 ..

프로젝트나 알고리즘 공부를 하면서 코드를 짤 때마다 어김없이 드는 생각이 있는데, 바로 '지금 짜고 있는 코드가 과연 좋은 코드일까?'다. 좋은 코드가 왜 필요한가? 좋던 말던 돌아가면 되는 거 아닌가! 대학교 때 '산업안전'이란 교양을 들은 적이 있는데, 내 전공인 컴퓨터 공학과는 전혀 상관이 없어서 별생각 없이 학점 따려고 신청한 과목이었지만 들으면 들을수록 내용이 유용해서 정말 열심히 공부했다. 주로 산업 현장에서 사고가 일어나는 이유, 사고의 종류, 사고 예방법, 보호기구 정보 이런 걸 배웠는데, 특히 아직도 기억에 남는 건'하인리히 법칙'이다. 하인리히의 법칙은 한 번의 대형 사고가 일어나기 전에는 29가지의 경미한 사고와 300가지의 증조가 일어난다는 통계를 분석한 법칙이다. 즉, '대형 사고..
[코드 1] regex 정규 표현식 사용 import re def solution(s): num_dic = {'zero' : '0', 'one' : '1', 'two' : '2','three' : '3', 'four' : '4','five' : '5', 'six' : '6', 'seven' : '7', 'eight' : '8', 'nine' : '9'} ans = '' option = re.compile("zero|one|two|three|four|five|six|seven|eight|nine|\d") nums = option.findall(s) for n in nums: try : n = num_dic[n] ans += n except : ans += n return int(ans) 특정 문자들을 찾아..
https://programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 코드1. counting def solution(nums): kinds = {} limit = len(nums)/2 for n in nums: if n not in kinds: kinds[n] = 1 else: kinds[n] += 1 if len(kinds) >= limit: return limit else: return len(kinds) 코드2. set ..

크리스에서 데이터 구축 참여자로 일했는데, 일을 하면서 반복되는 단순 작업들을 더 빠르게 할 수 있도록 하는 프로그램을 만들었다. 대단한 건 아니지만 내가 만든 프로그램을 다른 사람들이 써줬으면 좋겠다는 생각에 프로그램 공유를 하려 했는데 크리스 측에서 프로그램 배포를 했을 때 프로그램에서 사업 내용 사항들을 유추를 할 수 있을 시에 계약서에 합의한 보안 유지 위반 사항이 된다는 이야기를 들었다. 내가 생각하기에 프로그램은 코드를 다 뜯어봐도 역으로 크리스 데이터 구축 사항에 대한 내용을 알 수 없어서 배포가 가능하다고 생각했고, 설명과 함께 내 코드를 모두 한국 표준 과학연구원에 보내 검토를 부탁했다. 당연히 내 프로그램의 코드에는 사업 내용을 연상할 수 있는 부분이 없기에 보안 사항 위배는 아닌데 프..