본문 바로가기

언어/Python24

TIL39 | CodeKata 가장 자주 등장한 숫자 출력하기, 물을 담을 수 있는 가장 넓은 면적 CodeKata Week 2 문제 4 숫자로 이루어진 배열인 nums를 인자로 전달합니다. 숫자 중에서 과반수(majority, more than a half)가 넘은 숫자를 반환해주세요. def more_than_half(nums): # 구현 input nums = [3,2,3] nums = [2,2,1,1,1,2,2]output 3 2 나의 풀이 각 요소별 count 비교 def top_k(nums, k): set_list = set(nums) result = [(target, nums.count(target)) for target in set_list] result.sort(key = lambda x : -x[1]) return [result[i][0] for i in range(k)] 문제 5 인.. 2021. 10. 29.
TIL38 | CodeKata 숫자 중에서 과반수가 넘은 숫자 찾기, 여러 괄호 규칙 짝 맞추기 CodeKata Week 2 1주차보다 문제가 좀 더 어려워진 것 같다. 문제 2 숫자로 이루어진 배열인 nums를 인자로 전달합니다. 숫자 중에서 과반수(majority, more than a half)가 넘은 숫자를 반환해주세요. def more_than_half(nums): # 구현 input nums = [3,2,3] nums = [2,2,1,1,1,2,2]output 3 2 나의 풀이 각 요소별 count 비교 def more_than_half(nums): set_list = set(nums) result, count = 0, 0 for i in set_list: if count < nums.count(i): result = i count = nums.count(i) return result n.. 2021. 10. 27.
TIL31 | CodeKata 로마자에서 숫자로 바꾸기 CodeKata Week 2 문제 1 로마자에서 숫자로 바꾸기 1~3999 사이의 로마자 s를 인자로 주면 그에 해당하는 숫자를 반환해주세요. 로마 숫자를 숫자로 표기하면 다음과 같습니다. Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000 로마자를 숫자로 읽는 방법은 로마자를 왼쪽부터 차례대로 더하면 됩니다. III = 3 XII = 12 XXVII = 27입니다. 그런데 4를 표현할 때는 IIII가 아니라 IV 입니다. 뒤의 숫자에서 앞의 숫자를 빼주면 됩니다. 9는 IX입니다. I는 V와 X앞에 와서 4, 9 X는 L, C앞에 와서 40, 90 C는 D, M앞에 와서 400, 900 def roman_to_num(s): # 구현 input s = &#39;III.. 2021. 10. 25.
TIL30 | CodeKata 중복되지 않은 알파벳 중 제일 긴 단어, 뒤집은 모양이 같은 숫자 찾기, ⭐️공통된 시작 단어 찾기 CodeKata Week 1 문제 3 String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환해주세요. str: 텍스트 return: 중복되지 않은 알파벳 길이 (숫자 반환) def get_len_of_str(s): # 구현 input str = "abcabcabc"output 3 나의 풀이 def get_len_of_str(s): str = [] length = 0 for i in range(len(s)): if s[i] not in str: str.append(s[i]) else: str = [s[i]] print(str) length = max(length, len(str)) return length 문제 4 숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 n.. 2021. 10. 22.
TIL29 | Django C.R.U.D : Wrap up 정리 정리되지 않은 개인적인 기록용 글입니다. 내용이 정확하지 않을 수 있습니다. 1. Django에서 App은 기능별로 생성한다. 보통 model들은 core app에 관리 2. 클래스 참조는 string으로 할 것을 권장한다. 순환참조 문제가 발생할 수 있다. 순환 참조 문제를 사전에 방지하기 위해서 string으로 클래스를 참조하자. Django에서 의존성 관리를 해주기 때문에 어떻게 방지가 되는지 모르지만 어쨌든 string으로 참조하면 순환참조 문제는 발생하지 않는다. Django에서도 string 참조를 권장한다. ForeignKey('Owner', on_delete=cascade) 3. import convention # python built-in module import json # 외부 mo.. 2021. 10. 20.
TIL28 | Many-to-Many관계, Django의 ManyToManyField Many-to-Many 관계 M : N 의 관계 (고객과 제품, 학생과 강의, 팔로우와 팔로워) Django에서는 ManyToManyField를 지원한다. ManyToManyField ManyToManyField(RelatedField) ManyToManyField를 사용할 경우 자동으로 중간 테이블을 설정해준다. 정참조와 역참조 객체 호출 정참조의 경우 : 속성으로 접근 역참조의 경우 : _set 또는 related_name 으로 접근 from django.db import models class Article(models.Model): headline = models.CharField(max_length=100) publications = models.ManyToManyField(&#39;Public.. 2021. 10. 20.
반응형