분류 전체보기 135

[leetcode] 1141. User Activity for the Past 30 Days I

# 문제풀이 select activity_date as day, count(distinct user_id) as active_users from activity where datediff('2019-07-27', activity_date) = 0 group by activity_date; - activity 테이블에는 기본키가 없으며, 중복키가 허용됨 - distinct를 사용하여 user_id를 중복 제거 - datediff() 함수를 사용하여 날짜 차이 출력 * DATEDIFF() - 두 날짜 간의 차이를 일 수 로 계산하는 MySQL 내장 함수 - 첫 번째 인수에는 뒤에 오는 날짜 값과의 차이를 구할 기준 날짜를,..

Algoritm/leetcode 2023.04.19

[programmers] LV2. 최댓값과 최솟값

# 문제풀이 def solution(s): answer = '' a = list(map(int, s.split())) answer = str(min(a)) + ' ' + str(max(a)) return answer - python 내장 함수인 max(), min() 함수를 이용해서 해결 # 문제출처 https://school.programmers.co.kr/learn/courses/30/lessons/12939 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

[programmers] LV1. 두 개 뽑아서 더하기

# 문제풀이 from itertools import combinations def solution(numbers): answer = [] c = list(combinations(numbers, 2)) for i in c: answer.append(sum(i)) return sorted(set(answer)) - combinations(리스트, n) 을 사용하여, 2개의 수를 뽑아 나올 수 있는 경우를 출력 - set()을 이용해 중복 제거 후, sorted(리스트, key=조건, reverse=True/False)를 이용하여 오름차순으로 정렬 # 문제출처 https://school.programmers.co.kr/learn/courses/30/lessons/68644 프로그래머스 코드 중심의 개발자 채용..

[programmers] LV1. 숫자 문자열과 영단어

# 문제풀이 def solution(s): answer = '' dict = { "zero" : "0", "one" : "1", "two" : "2", "three" : "3", "four" : "4", "five" : "5", "six" : "6", "seven" : "7", "eight" : "8", "nine" : "9" } a = '' for i in s: if i.isdigit(): answer += i elif i.isalpha(): a += i if a in dict.keys(): answer += dict[a] a = '' return int(answer) - dict{key:value} 를 이용해 해결 - 문자열에서 isdigit()와 isalpha()를 통해 숫자인지, 문자열인지 확인 ..

[programmers] LV1. [1차] 비밀지도

# 문제풀이 def solution(n, arr1, arr2): answer = [] for i in range(n): # 10진수로 or 연산 후 2진수로 변환 tmp = bin(arr1[i] | arr2[i]) # 앞에 0을 붙이고 싶을 때 사용하는 함수 'zfill' tmp = tmp[2:].zfill(n) tmp = tmp.replace('1', '#').replace('0', ' ') answer.append(tmp) return answer - bin() 내장 함수와 zfill(), replace()를 이용하여 해결하였다. - 솔직히 zfill() 함수는 처음 본다... - 풀이를 하자면 arr1[i] 와 arr2[i] 리스트를 or 연산자 ('|')를 사용하여 연산 후 bin() 함수를 사용..

[programmers] LV1. 문자열 내 마음대로 정렬하기

# 문제풀이 def solution(strings, n): strings.sort() answer = sorted(strings, key=lambda x:x[n]) return answer - sorted() 내장 함수, lambda를 이용하여 해결 - sorted(리스트, key=기준, reverse=True/False) # 문제출처 https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

[programmers] LV1. 문자열 다루기 기본

# 문제풀이 def solution(s): if len(s) == 4 or len(s) == 6: if s.isdigit() == True: return True else: return False else: return False - isdigit() 내장 함수를 이용해서 s 문자열이 숫자인지 확인 # 문제출처 https://school.programmers.co.kr/learn/courses/30/lessons/12918 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

[programmers] LV1. 없는 숫자 더하기

# 문제풀이 def solution(numbers): arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] answer = set(arr) - set(numbers) return sum(answer) - set() 함수를 이용한 풀이 # 다른 사람 풀이 def solution(numbers): return 45 - sum(numbers) - 와.. # 문제출처 https://school.programmers.co.kr/learn/courses/30/lessons/86051 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr

[programmers] LV1. 나누어 떨어지는 숫자 배열

# 문제 풀이 def solution(arr, divisor): answer = [] for i in arr: if i % divisor == 0: answer.append(i) if len(answer) == 0: answer.append(-1) answer.sort() return answer - 리스트가 비어있는 경우 len(answer) == 0 으로 조건 / if not answer : 같은 조건 # 문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12910 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. prog..

[programmers] LV.1 서울에서 김서방 찾기

# 문제 해답 def solution(seoul): answer = '' for i in range(len(seoul)): if seoul[i] == 'Kim': answer += '김서방은 {0}에 있다'.format(i) return answer - format 함수를 사용하여 해결 # 다른 사람 문제 풀이 def solution(seoul): return '김서방은 {}에 있다'.format(seoul.index('Kim')) - index 함수가 있었다... # 문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/12919 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고,..