일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- pop()
- 불리안
- Java Script # == # === # difference # 차이
- 귀도 반 로섬
- index()
- 입출력
- 조건문 큰 수부터 입력받아야하는 이유
- null # undefined
- 변수와 입출력
- html
- 리스트와 차이점
- 그룹 # 그룹 해체 # 단축키 #figma #Figma
- input()
- 차집합
- 1일차
- 성적 입력받기
- 딥러닝
- 부스트캠프
- del()
- 변할 수 있는
- 파이썬
- 변수
- 합집합
- append()
- a=1
- false
- insert()
- Python
- 정보를 담을 수 있는 그릇
- 조지 불
- Today
- Total
목록Algorithm/프로그래머스 (44)
I about me
문제 분석 및 정답 도출 1) 어떻게 해야 최솟값이 나올까? 가장 큰 수 * 가장 큰 수 = 너무 커짐. 가장 작은 수 * 가장 작은 수 = 작음. → 너무 작으면 나중에 어차피 가장 큰 수 * 가장 큰 수 될 수 있음. 그러므로, 한 리스트는 작은 숫자부터 가고, 한 리스트는 가장 큰 수부터 가게끔 해야됨. 2) 개념을 알아야된다! A.sort() B.sort(reverse=True) 3) 그래서? solution은? def solution(A,B): A.sort() B.sort(reverse = True) answer = 0 for i in range(len(A)): answer += A[i] * B[i] return answer 더 나아가기 sort()와 sorted의 차이 1) sort() arr..
문제 분석 및 정답 도출 1) 알파벳인가? 아닌가? s.split(" ") if i[0]가 알파벳: i[0].대문자 + i[1:].소문자 else: i[0] + i[1:].소문자 def solution(s): if not s: return "" test = s.split(" ") answer = [] for i in test: if i[0].isalpha(): answer.append(i[0].upper() + i[1:].lower()) else: answer.append(i[0] + i[1:].lower()) return " ".join(answer) 이걸 하면서 내장함수 s.isalpha()에 대해서 알게 되었다. 즉, 알파벳인가?라는 의미.. 근데 계속 런타임이 뜬다! 왜!!!!! 2) 아예... ..
자릿수 관련한 문제가 나오면 단순히 둘째 자릿수만 생각하면 안 되고 최악의 조건인 10000 이하 수도 생각해야한다. 처음에 나는 둘째 자릿수만 생각하고 def solution(x): n = (x // 10) + (x % 10) return x % n == 0 이게 왜 틀렸는지 계속 생각했다...! 자 오늘 인강에서 들었듯! 최악의 조건을 생각해야한다!! 그러면 다음과 같이 하면 될 것이다!! def solution(x): sum = 0 for i in str(x): sum += int(i) return x % sum == 0 오늘 배웠던 리스트 사용 및 문자형 변환의 기법이 잘 보이는 문제였다고 생각한다!! 그래도 배운걸 나름 잘 써먹어서 행복하네요ㅎㅎ
프로그래머스에서 처음 풀어보는 level 2 문제... 생각보다 이것저것 찾아보다보니 저번 학기에 배운 "운영체제"의 개념을 가지고 있다는 것을 깨달았다. 와 이렇게 문제를 만드는구나 새삼 놀라게 되었다... 그래도 앞으로 일주일에 3~4번은 level 2 문제를 풀어보기로 계획했으니 차근차근 수행해보자고!! 문제 지도개발팀에서 근무하는 제이지는 지도에서 도시 이름을 검색하면 해당 도시와 관련된 맛집 게시물들을 데이터베이스에서 읽어 보여주는 서비스를 개발하고 있다. 이 프로그램의 테스팅 업무를 담당하고 있는 어피치는 서비스를 오픈하기 전 각 로직에 대한 성능 측정을 수행하였는데, 제이지가 작성한 부분 중 데이터베이스에서 게시물을 가져오는 부분의 실행시간이 너무 오래 걸린다는 것을 알게 되었다. 어피치는 ..
append(): 리스트의 끝에 하나의 요소를 추가함. my_list = [1, 2, 3] my_list.append(4) print(my_list) # 출력: [1, 2, 3, 4] extend(): 리스트의 끝에 다른 리스트의 모든 요소를 추가 my_list = [1, 2, 3] my_list.extend([4, 5, 6]) print(my_list) # 출력: [1, 2, 3, 4, 5, 6]
lower() : 대문자 → 소문자 String = "ABCD" String.lower() # "abcd" upper() : 소문자 → 대문자 String = "abcd" String.upper() # "ABCD" swapcase(): 대문자 → 소문자, 소문자 → 대문자 String = "abcdEFG" String.swapcase() # "ABCDefg"
접미사 endswith() def solution(my_string, is_suffix): if my_string.endswith(is_suffix): return 1 else: return 0 접두사 startswith() def solution(my_string, is_prefix): if my_string.startswith(is_prefix): return 1 else: return 0
2월까지 프로그래머스 l0 다 푸는 것이 목표였다...ㅋ 그러나 나는... 현재... 약 150문제가 남았다...!! 적어도 개강하기 전까지는 수를 줄여 파이썬에 더욱이 익숙해지는 순간을 만드는 것이 목표가 되어버렸다..!! 문자열 안에 문자열 문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요. 1차 시도 def solution(str1, str2): answer = 2 for i in range(len(str1)-2): # print(str1[i:i+3]) if str1[i:i+3] == str2: answer = 1 return answer 진짜 나 바본가...? 입출력 예시를 보고 풀다 보니 3..
all() 함수 자료구조 내의 모든 요소가 참일 때만 True를 반환하며, 거짓인 요소가 하나라도 있으면 False를 반환한다. all([True, True, True, True, True]) # True all([True, False, True, True, True]) # False 배열 만들기 2 def solution(l, r): answer = [] for num in range(l, r+1): if all(i in {"0", "5"} for i in str(num)): answer.append(num) if answer == []: answer.append(-1) return answer
나의 풀이는 다음과 같다...! def solution(a, b, c): answer = 0 if (a != b) and (b != c) and (a != c): answer = a + b + c elif (a == b) and (b == c) and (a == c): answer = (a + b + c) * (a**2 + b**2 + c**2) * (a**3 + b**3 + c**3) else: answer = (a + b + c) * (a**2 + b**2 + c**2) return answer 근데 다른 사람의 풀이에서 너무 놀랬다... 그래서 적는 거다..! def solution(a, b, c): check=len(set([a,b,c])) if check==1: return 3*a*3*(a**2..