일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 내일배움캠프
- 통계학
- map
- 내배캠_학습기록
- SQL
- SQLD
- 리스트
- 데이터전처리
- 내일배움일지
- 이중for문
- DATE_SUB
- python
- 가설검정
- 시각화
- 한줄for문
- Join
- 반복문
- 데이터시각화
- AB테스트
- Max
- 아티클스터디
- 프로그래머스
- ★
- 다중공선성
- Set
- f-string
- Leetcode
- 선형회귀
- Til
- 태블로
- Today
- Total
목록프로그래머스 (53)
노력에는 지름길이 없으니까요
해결일언어레벨 테스트명 20240903Pythonlevel 1 숫자의 표현 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12924#qna 베스트 코드 def solution(n): result = 1 #자기 자신의 경우 #1부터 n의 절반까지 순회 #연속된 자연수들의 합이 n을 초과하는 경우는 없음 for i in range(1, n//2 +1) : #각 반복에서의 연속된 자연수들의 합을 저장할 변수를 0으로 초기화 total = 0 #연속된 자연수들을 더하는 동안 그 합이 n보다 작은 경우에는 계속 반복 whi..
해결일언어레벨 테스트명 20240802SQLlevel 2 조건에 맞는 개발자 찾기 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/276034 문제 요약 : 특정 기술을 갖고 있는 사람 찾아내기문제의 요점은 스킬코드가 다 2진수로 되어 있는 점에 있다. 내 코드SELECT ID, EMAIL, FIRST_NAME, LAST_NAMEFROM DEVELOPERSWHERE SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = 'Python')OR SKILL_CODE & (SELECT CODE FROM SKILLCODES WHERE NAME = 'C#'..
해결일언어레벨 테스트명 20240801Pythonlevel 0 직사각형 넓이 구하기 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/120860 내 코드def solution(dots): dots.sort() x = abs(dots[0][0]-dots[-1][0]) y = abs(dots[0][1]-dots[-1][1]) return x*y 개선점: 생각하는 법은 같았는데!!나는 sort를 해서 가장 앞에 있는 최소값과 가장 뒤에 있는 최대값을 사용했다...여기서도 min/max를 사용할 수 있는 줄은 몰랐다. 굉장한 걸 알아냈다. 베스트 코드def solution(dots): return (max(dot..
해결일언어레벨 테스트명 20240801SQLlevel 3 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/157340 내 코드WITH TEST AS (SELECT CAR_IDFROM CAR_RENTAL_COMPANY_RENTAL_HISTORYWHERE '2022-10-16' BETWEEN START_DATE AND END_DATEORDER BY CAR_ID)SELECT DISTINCT CAR_ID,if (CAR_ID in (SELECT CAR_ID FROM TEST), '대여중','대여 가능') AVAILABILITYFROM CAR_RENTAL_COMPANY_RENTA..
해결일언어레벨 테스트명 20240730Pythonlevel 0 배열의 원소만큼 추가하기 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/181861 내 코드def solution(arr): return [i for i in arr for j in range(i)] 이중for문 연습했다. 이중for문 틀은 아래에 기재해둠!https://young-1-2.tistory.com/133 Python 이중 for문 작성법외웠다고 생각했는데 막상 쓰려니까 잘 되지 않아서 작성해둔다. for i in v: for j in i: print(j)[j for i in v for j in i]for inner in outer: for last..
아이패드의 티스토리 앱에서는 서식을 못 쓰네… 우선 기록이라도 해두겠다 20240721 Python level 2 영어 끝말잇기 앞에 나온 단어를 썼거나, 끝말잇기에 실패한 라운드와 실패한 사람 번호를 반환 def solution(n, words): test = [words[0]] for i in range(len(words)-1) : if words[i+1] in test or not words[i+1].startswith(words[i][-1]): return [(i+1)%n+1, (i+1)//n+1] test.append(words[i+1]) return [0,0] 코드설명 : 처음에는 words 자체를 2차원 배열로 바꾸는 작업이 필요할까 싶었지만, 원하는 데이터의 배열 자리만 찾으면 된다는 걸 ..
해결일언어레벨 테스트명 20240719Pythonlevel 2 N개의 최소공배수 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12953# arr에 있는 모든 수의 최소공배수 구하기 내 코드from math import gcddef solution(arr): arr.sort(reverse=True) answer = arr[0] for i in range(1,len(arr)): if answer%arr[i]!=0: answer=int(arr[i]*answer/gcd(arr[i],answer)) return answer 코드 설명최소공배수를 구하는 공식은 외우고 있었다. num1*num..
해결일언어레벨 테스트명 20240719Pythonlevel 0 A로 B 만들기 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/120886 before의 순서를 바꾸어 after를 만들 수 있는가? 내 코드def solution(before, after): return 1 if sorted(before) == sorted(after) else 0 사실 난이도도 낮고 기술적으로도 딱히 기록할 건 없는데... 깔끔하게 풀어낸 게 기분 좋아서 올림 ㅎㅎ sorted(문자열) -> [문자열을 이루는 문자로 이루어진 리스트]이것만 기억해두자!
해결일언어레벨 테스트명 20240718Pythonlevel 0 길이에 따른 연산 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/181879 num_list의 길이에 따라 리스트의 합 또는 곱을 return 하기 내 코드from functools import reducedef solution(num_list): return sum(num_list) if len(num_list)>=11 else reduce(lambda x, y: x * y, num_list) 개선점:가물가물하면서 prod 썼다가 기본 제공 패키지인줄 알고 없길래 지웠는데!!! math에 있었다...억울하지만 reduce 써봤으니까 만족하겠다 베스트 코드f..
해결일언어레벨 테스트명 20240718Pythonlevel 0 배열의 유사도 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/120903 문자열 리스트 두 개가 주어질 때, 같은 원소의 개수를 return하기 내 코드def solution(s1, s2): return len([i for i in s1 if i in s2]) 베스트 코드def solution(s1, s2): return len(set(s1)&set(s2)); 여기서 set을 어떻게 쓴 건지 궁금해서 입출력 예에 있는 테스트 케이스 하나를 응용하고 추가해서 한 번 살펴보았다. s1 = ["a", "b", "c", "c", "c"]s2 = ["com", "b..