일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 연구 시작
- 코테준비
- 바디프로필
- 암풀다운
- 바프준비
- 건강
- github
- 개인 운동
- PT 운동
- 논문 리뷰
- 티스토리챌린지
- 코드
- 코딩테스트
- 개인 피티
- 라섹 수술 후기
- 디버깅
- Knowledge Tracing
- 체스트프레스
- pytorch
- 코테 공부
- 오블완
- 데드리프트
- 영화 비평
- 다이어트
- 운동
- 덤벨운동
- 하체운동
- 개발자
- 프로그래머스
- 개인 PT
- Today
- Total
목록코딩테스트 (7)
치즈의 AI 녹이기
이 문제는 정확성과 효율성을 둘 다 평가하는 문제였다. 생각보다 금방 풀어서 제출했는데, 정확성은 100% 정답, 효율성은 66.6% 정답.. 아쉬운 결과 해당 결과의 풀이는 아래와 같다. def solution(gems): # 결국엔 배열 끝까지 탐색해보아야 함. gem_num = len(set(gems)) gem_index = dict() # 등장한 가장 나중 인덱스를 저장함. # gem_set = set() answer = [] min_len, min_index, max_index = 1000000, len(gems), 0 for index, gem in enumerate(gems): #보석 인덱스 업데이트 gem_index[gem] = index+1 # print(gem_index, gem_set..

배열 인덱싱이 헬이었던 문제.. 결국은 해냈다! 처음에 제출했을 때 all pass가 안떠서 90도 회전했을 때, i=3, j=3 위치에서 정확히 true가 뜨는지 디버깅 해보았더니, 엉뚱한 곳에서 true를 계산해 출력하는 것을 확인했다. 따라서 위와 같은 조건을 만족할 때 true가 뜰때까지 디버깅한 결과, 해결되었다. array[x:y][x:y] -> numpy를 쓰지 않다보니 이런식으로 인덱싱하는 것을 피할 수 있는 다른 방법을 고안했고, key 배열을 각도만큼 회전시킬때, list(zip(*array[::-1]))를 활용한다는 점, 완벽히 배열을 깊게 복사하려면, copy.deepcopy(array) 를 써야 하는 것도 검색을 통해 배웠다. import copy def make_big(n, lo..
다음과 같은 순서로 차례대로 함수를 정의하여 구현하였다. 1. 입차 출차에 따라 시간 계산 2. 계산된 시간에 대하여 요금 부여 import math def calcul_time(in_time, out_time): in_hour, in_min = int(in_time.split(":")[0]), int(in_time.split(":")[1]) out_hour, out_min = int(out_time.split(":")[0]), int(out_time.split(":")[1]) if out_min - in_min < 0: sub_hour = out_hour-in_hour-1 sub_min = out_min + 60 - in_min else: sub_hour = out_hour-in_hour sub_min..
문제에 대한 생각 흐름 정리는 다음과 같다. 1. 완전 탐색 시간은 최대 얼마나 걸리는가? 적용할 수 있는 할인율은 10%, 20%, 30%, 40% 4가지이고, 이모티콘은 최대 7개까지 주어지므로 4^7개의 계산 결과 중 최소값을 찾으면 되겠다. 그럼 모든 경우의 수에 대한 배열을 생성하기 위한 함수는 어떤 것을 활용하면 좋을까? itertools.product(*2d list)를 활용. https://www.geeksforgeeks.org/python-all-possible-permutations-of-n-lists/ Python | All possible permutations of N lists - GeeksforGeeks A Computer Science portal for geeks. It c..
핵심 완전 탐색으로 처음부터 쉽게 접근하기. print 많이 써서 디버깅해보기 from collections import Counter sorted 함수 key에 lambda 식 활용하기 https://gorokke.tistory.com/38 람다(lambda) 총 정리, key sort, key 정렬 1. 람다(lambda) 1 ) 의미 익명함수를 지칭하는 용어 즉, 기존의 함수(명 등)을 선언하고 사용하던 방식과는 달리 바로 정의하여 사용할 수 있는 함수. 2 ) 형식 : lambda 인자 : 표현식 예시) sum = lambda x: gorokke.tistory.com bfs 큐 사용할 때, 노드에 튜플 형태로 해당 노드의 depth까지 같이 저장해주면, 탐색 거리를 저장할 수 있다. 1. 귤 고르..
핵심 최단거리 탐색은 BFS(큐)로! (DFS는 스텍으로) 큐, 스택은 list말고 deque(데크) 사용하기! 문자열 지정 문자 찾기 .index('x'), .rindex('x') 이진화: bin(x), 십진화 : int(x, 2) 1. 게임 맵 최단 거리 최단거리 탐색은 항상 BFS(넓이 우선 탐색)으로. DFS(깊이 우선 탐색)으로 했다간 긴 경로를 짧은 경로로 인식할 수 있다. myGraph = { 'A': ['B'], 'B': ['A', 'C', 'H'], 'C': ['B', 'D'], 'D': ['C', 'E', 'G'], 'E': ['D', 'F'], 'F': ['E'], 'G': ['D'], 'H': ['B', 'I', 'J', 'M'], 'I': ['H'], 'J': ['H', 'K'],..
며칠 전, 연구실 선배로부터 네이버 인턴할 때 코딜리티를 이용해서 코테를 봤다는 팁을 얻고 바로 코딜리티에 로그인하여 코딩 테스트를 준비하고 있다. https://app.codility.com/programmers/ Developer Training | Test Coding Skills Online - Codility Find longest sequence of zeros in binary representation of an integer. app.codility.com 내가 사용하는 언어는 python으로, 문제를 풀면서 활용하기 좋았던 여러 내장 functions들을 정리해본다. lesson 1~4 핵심 list: pop(), insert(index, element) set: add(element)..