좋은 코드란 무엇이라고 생각하나요? 일반적으로 좋은 코드라 하면 '일관성 있다.', '중복이 적다.', '가독성이 높다.', '테스트에 용이하다.', '확장성이 좋다.' 와 같은 특징들을 가지고 있는 코드를 말합니다. 기본적으로 프로그래밍 언어 개발사에서 제안하거나, 회사나 팀 단위에서 정해놓은 코딩 스타일이라 불리는 규칙을 잘 지키는 것으로 어느 정도 좋은 코드가 나올 것입니다. 여기서 더 나아가서는 중복을 줄이고, 함수 내부의 추상화 레벨을 통일시키는 등의 리팩토링 과정을 주기적으로 수행하고, 하나의 파일뿐만 아니라 프로젝트 단위에서 고려한 디렉토리의 정리 등을 통해 더욱 좋은 코드가 나올 수 있다고 생각합니다. References 좋은 코드란 무엇일까? ‘성선설’에 기반하면 모든 개발자는 좋은 코드..
관련 링크 구글에 '기술면접 github' 와 비슷한 키워드로 검색하면 다양한 글들을 찾아볼 수 있다. https://github.com/JaeYeopHan/Interview_Question_for_Beginner GitHub - JaeYeopHan/Interview_Question_for_Beginner: Technical-Interview guidelines written for those who started studying progr :boy: :girl: Technical-Interview guidelines written for those who started studying programming. I wish you all the best. :space_invader: - GitHub - J..
자료구조 & 알고리즘 특강 (강창민 튜터님) 알고리즘의 정의 어떤 문제의 해결을 위하여, 입력된 자료를 토대로 하여 원하는 출력을 유도하여 내는 규칙의 집합. 여러 단계의 유한 집합으로 구성되는데, 각 단계는 하나 또는 그 이상의 연산을 필요로 한다. [표준국어대사전] 인상깊었던 문제 (예제 3) 1. 입력으로 소문자의 알파벳 순으로 정렬된 문자열이 입력됩니다. 2. 각 알파벳은 중복이 가능합니다. 3. 중간에 없는 알파벳이 있을 수도 있습니다. 입,출력 예시와 같이 입력 문자열에 나타나는 각 알파벳의 종류,갯수를 요약하여 나타내시오. # 문제의 번호별 조건에 대한 입력 예시와 출력 Ex 1) abc # a1/b1/c1 Ex 2-1) aaabbbc # a3/b3/c1 Ex 2-2) abbbc # a1/b..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cl7Asr/btrRRKlcv1R/qhadNRnFKo4BIQ5Fxhjq41/img.png)
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(n): answer = list(reversed(list(map(int, str(n))))) return answer *key point: 주어진 숫자의 각 자릿수를 요소로 가지는 리스트를 map 함수로 만들어주고, reversed 함수를 이용하여 뒤집어준다. 이때, 자료형이 리스트가 아니기 때문에 다시 list로 변환해주어야한다.
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ml2vT/btrRQiinxGH/klomI7pMbOc5fVbVGgVnK1/img.png)
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 1) 수학적 접근 def solution(n): answer = 0 length = len(str(n)) for i in range(1, length + 1): print(i, length) m = n // 10 ** (length - i) n -= 10 ** (length - i) * m answer += m return answer 2) 자료형, map 함수 활용한 접근 def solution(n): answer = sum(list(map(int, str(n)))) return ans..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/crTIlY/btrRQ5XbjxI/Xu1ug9aOIerEXp2xfNkIyk/img.png)
문제 링크 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net 문제 풀이 t = int(input()) for _ in range(t): x1, y1, x2, y2 = map(int, input().split()) n = int(input()) cnt = 0 for _ in range(n): cx, cy, r = map(int, input().split()) r1 = ((x1 - cx) ** 2 + (y1 - cy) ** 2) ** 0.5 r2 = ((x2 - cx) ** 2 + (y2 - cy) ..
컴퓨터구조(고려대 구건재 교수님) https://www.youtube.com/watch?v=aIX9BhnFlho&list=PLL3t9Nt4HrfuC8cjl4TdQ6lwWwZ0rGOMV 자료구조 및 알고리즘(한국외대 신찬수 교수님) https://www.youtube.com/c/ChanSuShin/playlists 운영체제(고려대 최린 교수님) https://www.youtube.com/watch?v=6Q5Gb1fxNMk&list=PLL3t9Nt4HrfvGwOgy6UhLtS9iVKhlk4pk&index=22 운영체제(인프런 무료강의) https://www.inflearn.com/course/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%EA%B3%B5%EB%A3%A1%EC%B1%85-..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/k21S6/btrRRXDHzR8/mccL4jYXxotbxAPMASXN90/img.png)
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 def solution(s): num_list = list(map(int, s.split())) max_min_list = [] max_min_list.append(str(min(num_list))) max_min_list.append(str(max(num_list))) return ' '.join(max_min_list) *key point: 입력형태와 출력형태만 신경 쓰면 크게 어렵지 않다. map함수, split메서드, join메서드 등을 잘 활용한다.
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/zvYF4/btrROrdQIaY/LEJ8hb4srkfHFRxMx6vX01/img.png)
자료구조 알고리즘 원격 강의 진도 나가기 시간복잡도와 공간복잡도 시간복잡도: 입력값과 문제를 해결하는 데 걸리는 시간과의 상관관계 공간복잡도: 입력값과 문제를 해결하는 데 걸리는 공간과의 상관관계 *상수나 계수는 무시할 정도이며, 차수가 가장 중요함 *공간복잡도를 희생해서라도 시간복잡도를 낮추는 것이 베스트 점근표기법 빅오(Big-O): 최악의 성능이 나올 때의 연산량 표기 ex) O(N) 빅오메가(Big-Ω): 최선의 성능이 나올 때의 연산량 표기 ex) Ω(1) * 최악의 경우를 대비해야 하므로 알고리즘 분석은 빅오 표기법 위주로! Array vs Linkedlist *Python의 경우: []로 감싸는 list 자료형이 array로 만들어졌으나, 동적 배열이라는 것을 이용하여 배열의 길이가 늘어나도..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/raBKk/btrRMEDXLzU/tZ2pNfp56Uc2hqDPxblv91/img.png)
파이썬 문법 뽀개기 원격 강의 진도 나가기 파이썬으로 알고리즘 공부를 하고 있었기 때문에 완전 생소한 내용은 아니었지만, 알고 있던 것은 복습하고 새로운 것은 집중해서 공부하는 시간을 가졌다. for문에서 enumerate()의 활용 fruits = ['사과', '배', '감', '귤','귤','수박','참외','감자','배','홍시','참외','오렌지'] for i, fruit in enumerate(fruits): print(i,fruit) 이처럼 for문을 돌릴때 enumerate()를 이용해서 index를 받아올 수 있고, 이를 다양한 방식으로 활용할 수 있다. f-string 알고 있는 개념이지만 너무 자주 쓰이기 때문에 정리하였다. 아래의 예시처럼 문자열 안에 변수를 넣고 싶을 때 사용하면 된..
- Total
- Today
- Yesterday
- MySQL
- Programmers
- 24313
- 2903
- 백준
- SQL
- 2738
- Python
- 26069
- 항해 플러스
- 벡준
- 13909
- 2053
- 코육대
- programmer
- 20920
- 13241
- 10807
- 17103
- 2587
- 24060
- 25192
- 1269
- 24723
- 4134
- Wil
- 25501
- 항해+
- til
- 5597
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |