분류 전체보기(56)
-
프로그래머스_위장_python
https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습니다. 스파이는 하루에 최소 한 개의 의상은 입습니다. from collections import defaultdict def solution(clothes): answer = 1 c_type = defaultdict(int) #값을 저장하지 않으면 0이 됨. for a, b in clothes: c_type[b] += 1 for i in c_type: answer *= c_type[i]+1 return answer-1 [내코드] defaultdic - 존재하지 않는 키를 조회할..
2021.07.20 -
프로그래머스_전화번호 목록_python
https://programmers.co.kr/learn/courses/30/lessons/42577 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요. [내코드] def solution(phone_book): answer = True phone_book.sort() for i in range(1,len(phone_book)): t..
2021.07.18 -
해시란?
자료구조)해시 - 빠른속도 but 리소스 소모 해싱: 임의의 길이의 값을 해시함수를 사용하여 고정된 크기의 값으로 변환 해시테이블 : 해시함수를 사용하여 변환한 값을 색인(index)으로 삼아 키(key)와 데이터(value)를 저장하는 자료구조 충돌(적재율(키의개수/해시테이블크기)가 1초과일경우)이 발생할 수 있음. 충돌해결 : 1.chaining (구조개선) - 동일한 버킷으로 저장할 때 연결리스트 형태로 저장함. 2.open addressing - 동일한 주소에 다른 데이터가 있을 경우 다른 주소도 이용할 수 있게 함. 다른 비어있는 자리를 탐색(탐사Probing) 2-1. open addressing의 3가지 충돌처리기법 1. 선형탐사 linear probing - 기본적. 바로 인접한 인덱스에 ..
2021.07.18 -
프로그래머스_완주하지 못한 선수_python
https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 참가자 중에는 동명이인이 있을 수 있습니다. collections의 counter 함수는 해당 키값이 몇번 나왔는지 확인함...
2021.07.18 -
php) usort : array 정렬을 사용자기준에 맞게 하는 방법
경비항목을 arr를 중요도 순서(사용자기준)대로 정렬하고 싶을때, usort를 사용한다. $arr = array( array( name=>'감가상각비', value=> 88000), array( name=>'협회비', value=>66000), array( name=>'기공료', value=>6500), array( name=>'수선비', value=>9000 ) ); usort($arr, function($a, $b){ $sort = array('협회비'=>0, '기공료'=>1,'감가상각비'=>2,'수선비'=>3); //중요도 순서대로 index를 지정한다. return ($sort[$a['name']]>$sort[$b['name']])?1:-1; }); echo $arr; //정렬된 결과 [ { "n..
2021.06.10 -
github desktop) 실수로 stash overwrite를 눌렀을 때
* 먼저 해당 문제가 발생하는 과정은.. 1. yu branch로 작업1을 진행함 2. commit 을 하지 않은 상태로 master branch로 switch 3. 다시 yu branch로 변경. 작업1은 stashed changes로 들어간 상태임 4. 작업1을 restore하지 않은 상태로 작업2를 진행함 5. 작업2를 commit하지 않은 상태로 master branch로 swich 6. 경고창에서 overwrite를 "실수로" 누름 7. master에서 yu branch로 switch 하면 stashed changes엔 작업2만이 존재함.. 하지만, 구글링 끝에 방법은 있었습니다. 모두 화이팅..! 1. github desktop 로그폴더 열기 2. 오늘 log파일을 열어줍니다. 3. stash..
2021.05.11