일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 알고리즘
- 경주로 건설
- QueryDSL 기초
- 빛의 경로 사이클
- 거울 설치
- 19238번
- 1038번
- 12865번
- 감소하는 수
- 보석 쇼핑
- python
- 12869번
- 수식 최대화
- HTML 기초
- 1789번
- 어른 상어
- 14499번
- SW Expert Academy
- SW ExpertAcademy
- 파이썬
- 17144번
- 키패드 누르기
- 16234번
- 9095번
- 15686번
- 프로그래머스
- 베스트엘범
- 미세먼지 안녕!
- 스타트 택시
- 2020 카카오 인턴십
- Today
- Total
목록알고리즘 풀이 (84)
보물창고 블로그
문제 링크: https://programmers.co.kr/learn/courses/30/lessons/17677 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 자카드 유사도를 구현하는 문제였다. collections모듈의 Counter함수를 사용하여 쉽게 풀었다. 먼저 각 문자열에 대해서 특수문자가 있는지를 확인하여 없으면 set1, set2에 2 글자씩 끊은 문자열을 넣어주고, set자료구조의 union과 intersection함수를 사용하여 교집합에 있는 단어의 경우 최대 빈도수를 maxv에 더하고 최소 빈도를 minv에 더하여 자카드 유사도를 구하..
문제 링크:https://programmers.co.kr/learn/courses/30/lessons/17676 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제의 핵심은 시간의 대소 비교를 어떻게 할 것인가이다. 나는 파이썬의 datetime 모듈을 사용하여 이를 해결하였다. 먼저 split() 함수를 사용하여 lines의 line들을 공백을 기준으로 나누고, 실행된 시간을 duration에 저장하고, strptime함수를 사용하여 시작시간과 끝나는 시간을 계산하고, 개수가 변하는 기준점은 각 요청이 시작되는 지점과 끝나는 지점이므로, 요청이 시작되는..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRQm6qfL0DFAUo&categoryId=AWXRQm6qfL0DFAUo&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 먼저 벽돌을 깨었을 때, 빈 공간이 있을 경우 벽돌을 아래로 떨어뜨리는 함수인 clean함수와 x, y지점의 벽돌을 부술 때 깨진 벽돌 개수와 깨진 맵의 상태를 반환하는 함수인 destroy함수와 dfs방식으로 탐색하고, 문제에서 주어진 횟수 n번의 벽돌을 깨는 것을 실행하는 solution함수로 이 문제..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIeRZV6kBUDFAVH&categoryId=AWIeRZV6kBUDFAVH&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 이 문제를 bfs(너비 우선 탐색) 방법으로 해결하였는데, 문제를 풀고 나서 다시 생각해보니 dfs(깊이 우선 탐색) 방법이 메모리 측면에서 더 효율적일 것 같다는 생각이 들었다. 먼저 bfs로 풀면 deepcopy를 이용하여 모든 case의 tool을 복사하여야 하므로 시간과 메모리 측면에서 비효율적이다..