Programming

문제Q. 링크드 리스트의 끝에서 K번째 값을 반환하시오.[6] -> [7] -> [8] # 이런 링크드 리스트가 입력되었을 때, # 끝에서 2번째 값은 7을 반환해야 합니다! 접근 방법 11. 전체 Linked List의 길이를 구하는 함수 get_len() 함수 구현2. 특정 인덱스의 노드를 찾는 함수 get_node() 함수 구현3. 1의 함수를 이용해 구한 Linked List의 전체 길이에서 K를 빼면 찾고자 하는 노드의 인덱스가 됨4. 2의 함수를 이용해 3에서 구한 인덱스로 찾고자 하는 노드를 찾음class Node: def __init__(self, data): self.data = data s..

finding_target = 2finding_numbers = [0, 3, 5, 6, 1, 2, 4]def is_exist_target_number_binary(target, array): array = sorted(array) # index setting cur_min = 0 cur_max = len(array) - 1 cur_search = (cur_min + cur_max) // 2 while cur_min target cur_max = cur_search - 1 cur_search = (cur_min + cur_max) // 2 return Falseresult = is_exist_target_number_binary(fin..

Q. 다음과 같은 두 링크드 리스트를 입력받았을 때, 합산한 값을 반환하시오. 예를 들어 아래와 같은 링크드 리스트를 입력받았다면, 각각 678, 354 이므로 두개의 총합 678 + 354 = 1032 를 반환해야 한다. 단, 각 노드의 데이터는 한자리 수 숫자만 들어갈 수 있다. 접근 방법1. get_num() 함수를 통해 링크드리스트를 숫자로 변환한다 (ex. [6]-[7]-[8] → 678)2. 이를 위해 get_len() 함수를 통해 전체 링크드리스트의 길이를 구한다3. get_node() 함수를 통해 각 인덱스 위치의 데이터 값을 구한다4. 2에서 구한 길이를 통해 맨 마지막 위치의 index를 파악하고, 여기서부터 역순으로 링크드리스트의 자릿수와 3의 데이터값을 곱해 더한다 class Nod..

class Node: def __init__(self, data): self.data = data self.next = Noneclass LinkedList: def __init__(self, value): self.head = Node(value) def append(self, value): cur = self.head while cur.next is not None: cur = cur.next cur.next = Node(value) def print_all(self): cur = self.head while cur is not None: p..

for-else / while-else문- for/while문에서 break 없이 정상 종료되면 else문 실행됨- for/while문에서 중간에 빠져나가면 else문 실행되지 않음 nums = [1, 3, 5, 7, 9]for num in nums: if num % 2 == 0: break else: print("모두 홀수입니다.") 위의 코드는 for문이 break 없이 정상 종료되었으므로 "모두 홀수입니다." 라는 문장이 출력된다 nums = [1, 3, 4, 5, 7, 9]for num in nums: if num % 2 == 0: break else: print("모두 홀수입니다.") 반면, 위의 코드는 4라는 원소에서 break될 것이므로 "모두 ..


어제까진 commit을 하면 잔디가 잘 심어졌는데 갑자기 오늘 저녁 commit에 대해 잔디가 반영이 되지 않았다!!! 이것저것 엄청 찾아봤는데 잔디가 잘 안심어질 때 확인해볼 건 크게 2가지인 듯 하다. 1) 브랜치 이름 바꿔보기 (main -> master) 원래 내가 작업하던 브랜치가 main 이었고, 기존에 master라는 브랜치가 따로 있었다. 브랜치 이름을 main에서 master로 바꾸면 잔디가 잘 반영된다고 해서 기존의 master 브랜치 지우고, main 이름을 master로 바꿨다. (뒤늦게 그냥 default를 master로 바꾸면 되는 거 아닌가 라는 생각이 들었지만 맞는지는 잘 모름. 아마 아니니까 잘 안됐겠지..) 결과는 fail.. 다른 방법을 시도해보자ㅎㅎ 2) 프로젝트 em..

000_face_001.BMP 001_face_001.BMP 002_face_001.BMP 003_face_001.BMP ... 위와 같은 이름들로 되어 있는 파일들을 분류하기 위해 split 을 사용했다. 처음에는 '_' 단위로 분류하고 싶어서 아래와 같이 작성했더니 오류가 뜨는 것을 확인했다. img_id, etc = filename.split('_') label, _ = etc.split('_') valueerror : too many values to unpack expected 2 이 오류 코드는 현재 2개의 값만 가능한데, 그 이상의 값을 갖고 있다는 것을 의미한다. 조금 더 찾아보니, split은 해당 단위를 기준으로 양 옆으로 쪼개는 것이라고 한다. 즉, 위의 코드에서는 '_'을 기준으로 ..

error: Source option 5 is no longer supported. Use 6 or later. error: Target option 1.5 is no longer supported. Use 1.6 or later. Source option 5 is no longer supported. Use 6 or later. Target option 1.5 is no longer supported. Use 1.6 or later.

Cannot fit requested classes in a single dex file (# methods: 112256 > 65536) 앱을 Run 시켰을 때, 위와 같은 문제가 발생했다. 앱 내에서는 참조될 수 있는 함수가 64K(65536개)인데, 만일 이 개수를 초과하게 되면 위와 같은 오류가 발생한다. 이 오류를 해결하기 위해 Multidex 라는 개념이 등장했다. Multidex는 함수가 64K(65535개)를 초과하지 않도록 dex 파일을 여러 개로 쪼갠 후, 쪼개진 dex를 읽을 수 있도록 도와준다. 해결방법 minSdkVersion이 21 이상일 경우, multidex가 기본적으로 사용 설정되기 때문에 별도의 설정을 해주지 않아도 된다. 확인해보니 프로젝트 내부의 minSdkVersio..