본문 바로가기

전체 글33

[Programmers] 176963.py 추억 점수 dictionary로 구조를 변경하여 풀까하다가, 어떤게 효율성면에서 더 나을지 몰라 일단 문제 그대로 풀어서 해결 def solution(name, yearning, photo): answer = [] for p in photo: point = 0 for people in p: try: point += yearning[name.index(people)] except: continue answer.append(point) return answer 이후 dictionary로 변경하여 해결하니 속도가 더 빨랐다. dictionary 변경은 for문으로 진행했다가 다른 분 풀이에서 zip() 을 사용하는 방식을 발견하여 변경했다. def solution(name, yearning, photo): answer .. 2023. 6. 11.
[Programmers] 120841.py 점의 위치 구하기 if문을 사용해서 단순하게 해결 def solution(dot): if dot[0] > 0 and dot[1] > 0: return 1 elif dot[0] 0: return 2 elif dot[0] < 0 and dot[1] < 0: return 3 else: return 4 처음에는 dot[0]과 dot[1]을 곱했을 때 양수가 나오는 경우 홀수 분면이라는 점과 dot[1]이 양수인 경우 1, 2분면, 음수인 경우 3, 4분면이라는 점을 이용하여 아래와 같이 해결하려 하였으나 효율성면에서 큰 메리트가 있을 것이라는 판단이 서지 않았고 가독성은 분명히 떨어질 것으로 예상되어 간단하게 풀이했다. def solution(dot): return 2 * ( 1 if dot[1] .. 2023. 6. 11.
[Projects] Pinterest clone coding 개요 개발기간 : 2022.10.28 ~ 2022.11.03 인원 : 총 6인 ( FE 3인, BE 3인 ) 기술 : JavaScript, React, Redux, Styled components, Axios 주요기능 1. Login(JWT) 2. 게시글과 댓글, 대댓글 CRUD & 댓글 좋아요 3. 반응형 웹 Github : https://github.com/Hanghae99-CloneWeek-team3/frontend 시연 영상 담당 작업 댓글, 대댓글 CRUD 및 댓글 좋아요. Dropdown, Icon, Button, Modal 공용 컴포넌트 작성 컴포넌트 내에 Base가 되는 기능들을 작성한 후 매개변수로 요청 받은 동작을 할 수 있도록 작성 반응형 웹 window.innerWidth, 반응형 .. 2023. 6. 9.
[Programmers] 120814.py 피자 나눠 먹기 (1) 올림을 아래와 같이 if문으로 구현. def solution(n): return n // 7 + (1 if n % 7 > 0 else 0) 좀 더 간단하게 구현하지 못해서 아쉬웠는데 다른 분들 풀이 중 보다 간단하게 구현한 코드를 찾았다. def solution(n): return (n - 1) // 7 + 1 무조건 한판을 주고, 8명이상일 때 몫마다 한판씩 더준다는 시나리오로 풀어 내셨다. 멋있어... 2023. 6. 8.
[Programmers] 138477.py 명예의 전당 (1) 문제 그대로 작성해서 해결 def solution(k, score): answer = [] daily_score = [] for e in score: daily_score.append(e) if len(daily_score) > k: daily_score.remove(min(daily_score)) answer.append(min(daily_score)) return answer 해결 이후 정렬된 배열에서 k번째 값을 추출한 값이 정답과 같은 값이라는 생각이 들어 아래와 같은 방식으로도 해결. def solution(k, score): answer = [score[0]] for i in range(1, len(score)): if i < k: answer.append(min(score[:i+1])) el.. 2023. 6. 8.
[Programmers] 135808.py 과일 장수 해결 문제 그대로 구현하지 않아도 내림차순으로 정렬된 배열의 m번째 요소마다 과일 박스의 최소값을 구할 수 있을 것으로 보였고 아래와 같이 해결. def solution(k, m, score): answer = 0 score = sorted(score, reverse=True) index = m - 1 while True: if index >= len(score): break; answer += m * score[index] index += m return answer 다른 사람의 풀이에서 배운 점 해결한 후 반복문 없이 풀이한 아래와 같은 코드 발견. def solution(k, m, score): return sum(sorted(score)[len(score)%m::m])*m 배열의 m번째 요소들의 .. 2023. 6. 7.
[Programmers] 132267.py 콜라 문제 언제나 그렇듯 문제 그대로 풀어서 해결 def solution(a, b, n): answer = 0 while True: if n < a: break answer += ( n // a ) * b n = ( n // a ) * b + n % a return answer 이번 문제는 교환 횟수만 잘 계산하면 반복문을 사용하지 않고도 해결할 수 있을 것 같아 고민했는데 사칙연산을 어떻게 조합해봐도 해결하지 못해서 다른 분의 풀이를 보고 아래와 같이 이해했다. def solution(a, b, n): return (n - b) // (a - b) * b 주어진 갯수 n에서 매 교환 시마다 a - b개의 콜라가 소모된다. 즉, 교환 횟수는 n // (a - b)로 표시할 수 있다. 다만, 이는 교환 시 a개를 제.. 2023. 6. 3.
[Programmers] 12981.py 영어 끝말잇기 def solution(n, words): checked_words = [words[0]] words = words[1:] for word in words: if word[0] != checked_words[-1][-1]: break if checked_words.count(word) >= 1: break checked_words.append(word) if len(words) + 1 == len(checked_words): return [0, 0] else: return [len(checked_words) % n + 1, len(checked_words) // n + 1] 문제 그대로 작성하여 해결. 이후 다른 분들 풀이 중 checked_list 없이 풀이한 글이 있어서 참조하여 아래와 같이 수정 c.. 2023. 5. 31.