전체 글 802

객체지향의 다형성에 대해서 어렴풋이 알게 되었다.

오늘 한 것 객체지향의 사실과 오해 1장 읽고 블로그 포스팅 Overload 와 Override 를 파이썬 코드로 구현 및 블로그 포스팅 2022.02.07 - [Dev/Language] - Overloding 과 Overriding 을 Python코드로 구현 파파고 API를 사용하여 코드로 한영 번역 성장한 점 오버로딩, 오버라이딩에 대한 개념과 실제 코드로 구현할 수 있게 되었다. 객체지향의 다형성에 대해서 어렴풋이 알게 되었다. 네이버 파파고 API를 활용하여 코드로 한영을 번역할 수 있게 되었다. 내일 하고 싶은 것 객체지향의 사실과 오해 책 150p 까지 읽고 포스팅하기.

Log/Today 2022.02.07

Overloading 과 Overriding 을 Python코드로 구현

결론 'Overriding'은 상속받은 내용을 덮어쓰기 'Overloading'은 다양한 형태의 인수로 동일한 함수를 실행하기 쉽게 이해하기위해 범위를 좁혀 말하자면 위와 같다고 할 수 있다. (실제는 좀 더 넓은 개념으로 생각하면 좋을 것 같다.) Overriding 예제 코드 # 부모 클래스 class ParentMoney: def introduce(self, name): self.money = 1000 self.name = name self.word = "어때 부럽지?" return f"내 이름은 {self.name}, {self.money}원을 가지고 있지. {self.word}" # 자식 클래스 class ChildMoney(ParentMoney): def introduce(self, name)..

일하는 객체들이 서로 협력하는 관계를 구축하는 것

제목 : 객체지향의 사실과 오해 저자 : 조영호 범위 : 01 / 협력하는 객체들의 공동체 요약 정리 객체지향의 목표는 실세계를 모방하는 것이 아니다. 고객과 사용자를 만족시킬 수 있는 신세계를 창조하는 것이다. 현실 세계와 비유하는 것은 '상태'와 '행위'를 [캡슐화]하는 소프트웨어 객체의 [자율성]을 설명하는 데 효과적이기 때문 객체는 상태와 행위를 하나의 단위로 묶는 자율적인 존재 객체지향에서 가장 중요한 개념 세 가지는 '역할', '책임', '협력'이다. 여러 객체가 동일한 역할을 수행할 수 있다. 역할은 책임(일), 임무를 의미한다. (손님, 점원, 바리스타) 역할은 대체 가능하다. (부품) 책임을 수행하는 방법(일하는 방법)은 객체가 자율적으로 선택할 수 있다. → 다형성과 관련 객체는 동시에..

가운데 글자 가져오기

문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한 사항 s는 길이가 1 이상, 100이하인 스트링입니다. 해결 방법 1. s의 길이를 구한다. 2. 구한 길이를 2로 나눈 값과 나머지를 각각 구한다. 3. 나머지가 0이라면 짝수라는 뜻이므로 가운데 두 글자를 반환한다. 4. 나머지가 1이라면 홀수라는 뜻이므로 가운데 한 글자를 반환한다. 5. 값을 구할 때는 나눈 값을 인덱스로 활용해 구한다. def solution(s): s_num = len(s) key, index = s_num % 2, s_num // 2 answer_dict = { 0 : s[index-1:index+1], 1 : s[index] }..

같은 숫자는 싫어, 그리고 깨달은 세 가지

문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1]을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한 사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 : 0보다 크거나 ..

'객체지향'을 제대로 이해하지 못했다.

오늘 한 것 스터디 모임에서 '객체지향'을 주제로 발표함 '객체지향'관련하여 파이썬 코드로 함수와 클래스를 비교하는 코드를 작성함 성장한 점 '객체지향'을 제대로 이해하지 못해 내 부족함을 느낄 수 있었다. 함수와 클래스를 코드로 직접 작성하면서 비교해 볼 수 있었다. 노력할 점 '객체지향'에 대해서 명확하게 이해하지 못했기 때문에 관련 책을 읽으면 다시 공부하자. '객체지향'과 어울리는 코드를 새로 작성해보자. 내일 하고 싶은 것 밀린 클린코드 읽고 블로그 올리기 객체지향 공부하고 블로그 올리기 이력서 수정하고 제출하기

Log/Today 2022.02.05

나누어 떨어지는 숫자 배열

문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한 사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 해결 방법 1. arr를 반복한다. 2. if로 각 요소가 divisor로 나누어 떨어지는지 확인한다. 3. 나누어 떨어지면 리스트에 담는다. 4. 리스트를 오름차순으로 정렬한다. 5. 만약 리스트가 비어있다면 [-1]리스트를 반환한다. def solution(arr..

두 정수 사이의 합, 접근 방법에도 순서가 있어야 한다.

문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 사항 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 해결 방법 1. a와 b의 대소관계를 확인하여 새로 할당한다. 2. a와 b의 사이 수들을 구한다. 3. 수들을 모두 합한다. def solution(a, b): num_list = [a, b] a, b = num_list[a >= b], num_list[a < b] answer = sum(range(a..

git 개념 정리

HEAD 현재 사용 중인 브랜치의 선두 부분을 나타내는 이름 기본적으로는 'master'의 선두 부분 'HEAD' 를 이동하면, 사용하는 브랜치가 변경됨 stash 파일의 변경 내용을 일시적으로 기록해두는 영역 stash 를 사용하여 아직 커밋하지 않은 변경을 일시적으로 저장해 둘 수 있음 stash 에 저장된 변경 내용은 나중에 다시 불러와 원래의 브랜치나 다른 브랜치에 커밋할 수 있음 fetch 원격 저장소의 데이터를 로컬에 가져오기만 하기 pull과 차이점은 pull은 원격저장소의 내용을 자동으로 병합 fetch는 원격 저장소의 최신 이력을 확인할 수 있음 최신 커밋 이력은 이름 없는 브랜치로 로컬에 가져오게 되고 이 브랜치는 'FETCH_HEAD'의 이름으로 체크아웃 할 수 있음 --abort r..

간단한 서버와 API는 금방 만들 수 있게 되었다.

오늘 한 것 SQL 물리 삭제와 논리 삭제에 대해 스터디 모임에서 발표하고 블로그에 정리 글을 올렸다. 2022.02.03 - [Dev/DB] - 물리삭제와 논리삭제를 코드로 구현해 보았다. git에 대해 공부하고 아직 생소한 것은 따로 메모에 정리해두었다. 2022.02.03 - [Dev/Etc] - git 개념 정리 성장한 점 SQL을 설명하기위해 간단하게 서버 API와 SQL문 코드를 만들었는데 2시간 정도 소요되었다. 간단한 앱을 스스로 처음부터 만들 수 있게 되었다는 점이 놀랍다. 기존에 쓰던 git에 대한 쓰임새와 모르던 기능을 제대로 알게되었다. 익숙해지기 위해 평소에 자주 사용해보자. 노력할 점 SQL의 '서브쿼리'나 '조인'에 대해서는 더 공부해야 한다. 오늘 이력서 피드백 세션이 있었는..

Log/Today 2022.02.03