일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- pop()
- 불리안
- del()
- 정보를 담을 수 있는 그릇
- index()
- Java Script # == # === # difference # 차이
- Python
- 딥러닝
- 성적 입력받기
- 변할 수 있는
- 조지 불
- a=1
- 입출력
- 귀도 반 로섬
- 부스트캠프
- 변수
- input()
- false
- html
- 1일차
- 변수와 입출력
- insert()
- null # undefined
- 파이썬
- append()
- 조건문 큰 수부터 입력받아야하는 이유
- 합집합
- 그룹 # 그룹 해체 # 단축키 #figma #Figma
- 차집합
- 리스트와 차이점
- Today
- Total
목록전체 글 (176)
I about me
autoplay: 자동재생 muted: 음소거 controls: 영상 조작
[그리디 3단계] ① 해 선택: 현재 상태에서 가장 최선이라고 생각되는 해를 선택한다. ② 적절성 검사: 현재 선택한 해가 문제의 제약 조건에 벗어나지 않는지 검사한다. ③ 해 검사: 현재까지 선택한 해 집합이 전체 문제를 해결할 수 있는지 검사한다. 전체 문제를 해결하지 못한다. 해결하지 못하면 ①로 돌아감.

문제 분석 및 정답 도출 ① "("로 시작하는가? 시작한다면? "("의 수, "}"의 수 확인하기 그렇지 않다면? return False ② "("의 수 =="}"의 수 return True else: return False ① , ② 와 같은 생각에 따라 테스트 케이스는 합격했다... 그러나 다른 케이스에서는 안 된다 한다. def solution(s): start_count = 0 finish_count = 0 for i in range(len(s)): if s[0] == "(": if s[i] == "(": start_count += 1 else: finish_count += 1 else: return False if start_count == finish_count: return True else..
문제 분석 및 정답 도출 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) 아예... ..
[출처: 10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트 | 1주차 시간복잡도, 빅오표기법, 공간복잡도, 누적합, 구현] 1. 문제를 본다. 2. 문제를 해석한다. (1) 최대, 최소 범위를 파악합니다. (2) 단순 구현이라면 구현하자. (3) 무식하게 풀 수 있다면 무식하게 풀자 (4) 아니라면 다른 알고리즘을 생각하자 (5) 제출하기 전, 반례를 항상 생각하자 3. 코드를 작성한다. https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net

[출처: 10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트 | 1주차 시간복잡도, 빅오표기법, 공간복잡도, 누적합, 구현] 위와 같이 진행할 경우, N이 10만이라는 숫자가 주어질 때, 10만 * 10만 = 100억의 시간복잡도가 생긴다. 이것은 불가능할 확률이 높다는 뜻이니 다른 방법을 써야한다! 함께 누적합을 알아보자. 다음과 같이 1번 박스, 2번 박스, 3번 박스 이렇게 만들어 놓고, 원하는 값이 있을 때 만들어놓은 박스들을 이용해서 구하는 방법이다! 근데 또 1번 박스 따로, 2번 박스 따로, 이렇게 만드는 것은 쉽지 않다. 그러므로 이전에 만들어놓은 값에 그 해당 요소만 더해가는 방식으로 만들어준다. psum[1] psum[2] = psum[1] + a[2] psum[3] = psum[2] ..

빅오표기법 n 1 2 3 4 5 2^n 1 2 8 16 32 n! 1 2 6 24 120 https://blog.naver.com/jhc9639/222283814653 [알고리즘 강의] 1주차. 시간복잡도, 빅오표기법, 공간복잡도, 누적합, 구현 알고리즘 강의 1주차입니다. 시간복잡도, 빅오표기법, 공간복잡도, 누적합, 구현까지 알아보겠습니다. 시간... blog.naver.com 이 강의를 통해 알게 된 것! 재귀함수 3번 반복하라고 하면? → 3^n 재귀함수 5번 반복하라고 하면? → 5^n