[TIL_Carrotww] 40 - 22/10/28

유형석·2022년 10월 28일
0

TIL

목록 보기
48/138
post-thumbnail

📝Carrotww의 코딩 기록장

🧲 python Algorithm

🔍 programmers 약수의개수와덧셈 코드챌린지 시즌2 쉬운 문제이다. 코드를 이쁘게 잘 줄인것 같아서 올린다.

  • 풀이
def fun1(num):
    result = [x for x in range(1, num // 2 + 1) if num % x == 0]
    result.append(num)
    return num if len(result) % 2 == 0 else -num

def solution(left, right):
    return sum([fun1(x) for x in range(left, right + 1)])

🧲 python Algorithm

🔍 programmers 완주하지 못한 선수 hash hash 문제이다.
더 이쁘게 풀고 싶었지만 sort를 사용하게 되면 hash 를 사용하지 않은게 되어버려서 일단 dict를 사용하여 풀었다.
확실이 옛날 문제들이 난이도가 낮다.
다른 사람의 풀이를 보니 counter 라는 것을 썻는데 저번에 보고 공부해야지 하고 지나쳤는데 공부해야겠다.

from collections import defaultdict

def solution(participant, completion):
    temp = defaultdict(int)
    for pa in participant:
        temp[pa] += 1
    for com in completion:
        temp[com] -= 1
    for key, val in temp.items():
        if val != 0:
            return key

🧲 python collections counter()

🔍 counter() 함수는 들어온 인자들의 수를 세어주는 함수이다.
예시를 보면 바로 이해가 된다.

from collections import Counter

Counter("hello world")
# {'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}

위 문제도 counter() 를 사용하면 엄청 쉽게 풀 수 있다.

from collections import Counter

def solution(participant, completion):
    result = Counter(participant) - Counter(completion)
    return list(result.keys())[0]

잘 기억해 두고 잘 써먹자!

🧲 잡담

🔍 django 심화 과정 강의를 듣고 있는데 역시 기초보다는 심화가 재밌다.
아직은 익숙하지는 않지만 금방 익숙해 질 것 같다. 주말에 친구들과 공을 차는데 구장을 잡고 예약하고, 친구들 회비를 걷는 일을 맡은 친구가 있다.
저번에 하지 못했던 계좌 연동을 하여 회비 관리 사이트를 간단하게 만들어봐야겠다.
만들어보고 싶은게 너무 많다. 웹 크롤링해서 관심있는 기업의 관심있는 포지션 공고가 올라오면 메일을 보내주는 파일을 만들어보고 있는데 자동화가 역시 재밌다 ㅎㅎ

너무 이것저것 만들고 공부하다 보니 진행이 빠르게 되지 않는건 있는데 어쩌겠나, 다 해보고싶은데.. ㅎ

그제? 안풀리던 문제 거의 다 풀었는데 주말에 마무리 해서 올려야겠다.

profile
Carrot_hyeong

0개의 댓글