일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 가독성
- 탈출 조건
- 함수
- 파이썬
- 중첩문
- 프로그래머스
- 부등호
- deque
- 2020 채용
- 함수화
- min heap
- boolean
- ZIP
- permutations
- max-heap
- 힙
- 스택/큐
- 커리어
- 중간 변수
- 가이드
- 그리디
- 조합
- enumerate
- 코딩테스트
- 매직 넘버
- 대소 비교
- 중첩
- 변수명
- 임시 변수
- John Sonmez
- Today
- Total
목록파이썬 (24)
Better Code, Better Life
문제 풀이 people을 가벼운 순으로 sort 합니다. 이후 제일 무거운 사람을 태운 후, 제일 가벼운 사람을 태울 수 있으면 태웁니다. 모든 사람들이 탈 때까지 2번의 로직을 반복합니다. list 자료형의 경우 0번째 index pop의 비용이 O(n)이므로 deque자료형을 이용합니다. 클린 코드 작성법 문제 이해를 위한 적절한 변수명을 짓습니다. capacity, heaviest_person, lightest_person if capacity_left_for_lightest_person(people, capacity) 처럼 함수을 이용해 가독성을 높일 수 있씁니다. if 다음에 boolean 값을 return 하는 함수를 작성합니다. 값의 비교시 작은 값은 왼쪽, 큰 값은 오른쪽에 놓습니다. li..
문제 풀이 먼저 up, down으로 움직일 조이스틱 횟수를 구합니다. initial_codes 를 이름의 길이만큼 모두 65로 초기화합니다. ("A"의 유니코드값: 65) name_in_codes 에 이름의 유니코드값을 저장합니다. "A" 기준으로 이름을 완성하기 위해 필요한 up, down 횟수만을 구합니다. (get_up_down_shortest_moves) left, right으로 움직일 조이스틱 횟수를 구합니다. index_diffs: 이름에서 "A"가 아닌 index는 모두 방문해야 합니다. index_diffs: [0, 2, 5, 9], name_length: 10일때 총 7번으로 모두 방문 할 수 있습니다. (좌-우우우-우우우) 단순히 오른쪽으로만 가면 총 8번을 움직여야 합니다. (우우-우..
장점 1. 읽기 쉬운 코드 팀 내 코드 공유가 쉬움 간단한 수정을 팀원들이 직접 할 수 있음 한 줄씩 코드 실행 가능 2. 빠른 개발 속도 C++, 자바보다 코드 수 짧음 3. 많은 오픈 라이브러리 및 커뮤니티 미리 구현된 기능들을 이용 가능 구글링 검색이 잘됨 4. 툴에 비해 자동화가 쉬움 스크립트 작성으로 반복적으로 해야하는 작업을 자동화할 수 있음

drive.google.com/file/d/1ymbMCtOdbfqdkKUsLq1j9eQNotXRWcoD/view?usp=sharing samsung_apply_fill_macro 삼성 채용 성적 입력 매크로 테스트 환경: Windows10 Chrome 간단히 테스트 해보고 안되면 손으로 입력... How to use 먼저 samsung_apply_fill_macro 압축을 풉니다. 이후 아래 과정 진행하면 됩니다. data.xlsx 에 성적 엑셀 입력 config.yaml 메모장으로 열어서 본인의 상황에 맞게 수정 delay_time: 키보드 입력 딜레이 시간 start_num: 과목 시작 줄 setup_delay_time: 처음 시작 전 대기 시간 class_taken_year: 수강년도 누르면 나오는..

문제 풀이 주어진 number 에서 순차적으로 각 숫자가 넣을만한 숫자인지 비교해봅니다. 앞으로 넣어야 할 숫자가 스택에 있는 마지막 숫자보다 크다면 마지막 숫자를 pop 해줍니다. 이 때 k(제거해야 할 숫자의 수)가 0보다 커야 합니다. 또한 스택이 비어있다면 넘어갑니다. 이 로직을 pop_until_condition 에 구현합니다. 1번에서 넣을만한 숫자는 다 candidates에 넣었습니다. 이제 k가 0이 될 때까지 숫자를 제거해주어야 합니다. pop_until_zero candidates 안의 숫자들을 하나의 문자열로 합치면 정답을 구할 수 있습니다. 클린 코드 작성법 stack 과 같은 자료구조를 명시하는 변수명 대신 candidates 처럼 구체적으로 변수가 의미하는 바가 드러나게 변수명을..

문제 풀이 먼저 여벌 체육복을 가져온 학생이 체육복을 도난당한 경우를 해결해줍니다. 이는 lost, reserve 사이에서 중복을 제거하면 됩니다. filter_duplicate 여벌 체육복을 가져온 학생들의 번호를 가지고 잃어버린 학생들에게 왼쪽번호부터 차례대로 빌려줍니다. lend_clothes_from_nearby_student 전체 학생 수에서 여전히 못빌린 학생 수를 빼면 정답이 나옵니다. 클린 코드 작성법 임의의 두개의 리스트에 대해서 행하는 로직의 경우 list1, list2 처럼 변수명을 지어도 괜찮습니다. for문 내에서 복잡한 로직을 행하게 된다면, 이 부분을 따로 함수를 통해 for문 중첩 수를 줄이는 것이 좋습니다. lend_clothes_from_nearby_student 해답 코..

문제 풀이 전체 카펫 수를 구합니다. 1번에서 구한 값의 약수를 구합니다. 가로와 세로의 길이를 약수, 전체 카펫수 // 약수로 정하고 조건에 맞는지 확인합니다. 조건에 맞으면 가로길이가 세로길이보다 크거나 같게 바꿔줍니다. 클린 코드 작성법 로직별로 함수를 나눕니다. get_factors check for문 내에는 is_correct_factor같이 boolean 변수를 만들고 이를 판정하는 함수로 처리하는것이 좋습니다. 해답 코드 def solution(brown, red): total = brown + red factors = get_factors(total) width, height = 0, 0 for factor in factors: width, height = factor, total // f..

문제 풀이 먼저 던질 수 있는 모든 경우의 수를 만듭니다. get_candidates 그 다음 각각의 경우에 대해 주어진 결과(baseball)가 맞아떨어지는지 확인합니다. 하나라도 틀리면 그 후보는 넘어갑니다. check_candidate baseball에 대해 모두 통과시 가능한 답안이므로 answer_count값을 늘립니다. 클린 코드 작성법 코드 각각이 하나의 기능만 수행하도록 분리합니다. 123 ~ 987 까지 후보군을 만드는 함수 각 후보에 대해 baseball의 guess를 통과하는지 확인하는 함수 1개의 guess, 1개의 후보에 대해 서로 일치하는지 확인하는 함수 permutations에서 나오는 출력형태가 튜플인데 이를 문자로 전환해주는 함수 묶여진 자료형을 다룰 때, 각각에 변..