분류 전체보기 753

[WIL] 항해 99 1주차 회고록 (21.06.07~ 21.06.12) 이렇게 오래 앉아서 공부하는 것이 얼마만인가!

2021.06.13 - [TIL] - [프로젝트 일지] 항해 99 미니 프로젝트 회고록 (아주 솔직한 나의 반성) [프로젝트 일지] 항해 99 미니 프로젝트 회고록 (아주 솔직한 나의 반성) 1. 프로젝트 소개 오늘도 돼지런! 오늘 먹었던 것을 사진과 함께 기록하는 페이지 https://github.com/goplanit/team35_project http://manju.shop/ PIGRUN | 오늘도 돼지런 뱃살을 키우.. sso-feeling.tistory.com ↑1주차에 한 프로젝트 회고록 스케줄 06.07~06.10 미니 프로젝트 06.11~06.13 알고리즘 강의 들으며 공부 WIL (느낌편) 19살때 수능 공부 이후 2020년에 자바 프로젝트 할때 이후 세번째로 몰입하여 공부하는 것 같음 ..

TIL 2021.06.13

[알고리즘] 링크드리스트의 값들을 자리대로 숫자로 만들어 합하기

class Node: def __init__(self, data): self.data = data self.next = None class 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 get_linked_list_sum(linked_list_1, linked_list_2): sum_1 = get_linked_list_sum(linked_list_1) sum_2 = get_linked_list_sum(linked_list_2) return su..

알고리즘/이론 2021.06.13

[알고리즘] 링크드리스트 delete_node구현

def delete_node(self, index): if index == 0: self.head = self.head.next return # index번째 Node를 제거한다 node = self.get_node(index-1) node.next = node.next.next return "index 번째 Node를 제거해주세요!" index가 0 이면 0번째 head를 지우라는 것이므로 그것이 지워지면 바로 뒤의 head.next가 head가 되는 것이다. index가 0이 아니라면 index번째 node를 지우고 index-1번째 node 바로 다음에 index.next 노드가 와야한다 그러니까 index-1번째 노드의 next에는 원래 next의 next였던 노드가 와야한다는 것이다.

알고리즘 2021.06.13

[알고리즘] 링크드리스트 add_node구현

2021.06.13 - [알고리즘] - [알고리즘] 링크드리스트 print_all구현 [알고리즘] 링크드리스트 print_all구현 class Node: def __init__(self, data): self.data = data self.next = None node = Node(3) first_node = Node(4) node.next = first_node print(node.next.data) class LinkedList: def __init__(self, data): s.. sso-feeling.tistory.com # index번에 value를 가진 Node를 연결해라 def add_node(self, index, value): new_node = Node(value) if index ==..

알고리즘/이론 2021.06.13

[알고리즘] 문자열 뒤집기 python

# Q. # 0과 1로만 이루어진 문자열이 주어졌을 때, # 이 문자열에 있는 모든 숫자를 전부 같게 만들려고 한다. # 할 수 있는 행동은 문자열에서 연속된 하나 # 이상의 숫자를 잡고 모두 뒤집는 것이다. # 뒤집는 것은 1을 0으로, 0을 1로 바꾸는 것을 의미한다. # 예를 들어 S=0001100 일 때, # 전체를 뒤집으면 1110011이 된다. # 4번째 문자부터 5번째 문자까지 # 뒤집으면 1111111이 되어서 2번 만에 모두 같은 숫자로 만들 수 있다. # 하지만, 처음부터 4번째 문자부터 5번째 문자까지 # 문자를 뒤집으면 한 번에 0000000이 되어서 # 1번 만에 모두 같은 숫자로 만들 수 있다. # 주어진 문자열을 모두 0 혹은 모두 1로 같게 만드는 # 최소 횟수를 반환하시오...

알고리즘/이론 2021.06.12

[알고리즘] 소수 나열하기/ 소수 찾기

# Q. 정수를 입력 했을 때, # 그 정수 이하의 소수를 모두 반환하시오. # 소수는 자신보다 작은 두 개의 자연수를 곱하여 # 만들 수 없는 1보다 큰 자연수이다. input = 20 # 소수는 자기 자신과 1외에는 아무것도 나눌 수 없다. def find_prime_list_under_number(number): prime_list = [] for n in range(2, number + 1): #2부터 number까지 반복 for i in range(2,n): #2부터 number-1까지 반복 if n % i == 0: break else: prime_list.append(n) return prime_list result = find_prime_list_under_number(input) prin..

알고리즘/이론 2021.06.12

[알고리즘] 더하기 or 곱하기 python

input = [0, 3, 5, 6, 1, 2, 4] # Q. 다음과 같이 0 혹은 양의 정수로만 이루어진 배열이 있을 때, # 왼쪽부터 오른쪽으로 하나씩 모든 숫자를 확인하며 # 숫자 사이에 '✕' 혹은 '+' 연산자를 넣어 결과적으로 # 가장 큰 수를 구하는 프로그램을 작성하시오. # 단, '+' 보다 '✕' 를 먼저 계산하는 일반적인 방식과는 달리, # 모든 연산은 왼쪽에서 순서대로 이루어진다. # 숫자가 0이나 1이면 더하는게 이득이다 # sum이 0이나 1이면 더하는게 이득이다. def find_max_plus_or_multiply(array): multiply_sum = 0 for number in array: if number

알고리즘 2021.06.12