전체 글74 [2178] 미로 탐색 bfs문제 1.시작점(1,1)에서 (N,M)까지 최소칸수구하기 ( 시작칸 도착칸 포함!) 2.1로 표시된곳만 갈 수 있음 def bfs(i,j): while queue: i,j = queue.pop(0) if i == N-1 and j == M-1: #(도착점오면 출력) return visited[i][j] for d in range(4): ni = i + di[d] nj = j + dj[d] if 0 2024. 1. 9. 전화번호 목록 해시쓰기!필수 (아니면 시간초과) 문제이해 배열에 요소가 배열의 다른 요소의 접두사가 되면 False 아니면 True def solution(phone_book): phone_book.sort() ans = 1 for i in range(len(phone_book)-1): for j in range(i+1,len(phone_book)): e = len(phone_book[i]) if phone_book[i] == phone_book[j][:e]: ans = 1 return False return True ---------------------------------------------------------------- def solution(phone_book): hash = {} for i in pho.. 2024. 1. 9. 폰켓몬 해시-level1문제이해nums배열의 길이를 N 이라고 할 때 N/2길이만큼 뽑는다뽑은 숫자가 폰켓몬종류를 의미하므로 그때 폰켓몬 종류번호의 개수를 return 1. 빈배열 arr를 만들어서 nums배열길이의/2를 초과하지 않을때까지같은숫자면 배열에 들어가지 않게 arr에 추가한다2.arr를 돌면서 다르면 cnt 를 1세어주고 같을경우는 그대로 cnt 를 1로 함 def solution(nums): # 중복제거하기 set_nums = set(nums) # 가지고있는 종류의 수 a = len(set_nums) b = len(nums) //2 # 선택할 폰켓몬 수 return min(a,b)nums = [3,3,3,2,2,2]# nums의 //2 한만큼 가지는데 종류가 .. 2024. 1. 8. 완주하지 못한 선수 정렬풀이1. 참여자와 완주자배열 sort로 정렬하기2. 완주자는 1명이 적으므로 return값은 무조건 한명이다3.참여자배열이 빌때까지 while문사용 4. 각 배열에서 pop()사용해서 비교하기 - > 다르면 그사람이 완주하지못한사람5. 계속 일치하면 정렬한 참여자배열의 마지막 사람이 완주하지 못한것임 해시풀이1. 참가자선수들 배열을 돌면서 {'이름': 몇명인지} 이런 해쉬맵생성2. 완주한선수 배열을 돌면서 위에서 생성한 해쉬맵에서 몇명수를 1 빼기3. 수가 0이아니라면 그사람출력participant = ["mislav", "stanko", "mislav", "ana"]completion = ["stanko", "ana", "mislav"]hashmap = {}for i in participant.. 2024. 1. 8. 이전 1 ··· 15 16 17 18 19 다음