일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- fibo
- dynamicProgramming
- 오픽공부법
- dp
- 안드로이드
- topdown
- 다이나믹프로그래밍
- 오픽가격
- 안드로이드주석
- 메모이제이션
- 피보나치수열
- 오픽노잼공부방법
- stack 스택
- 오픽
- English
- 이진탐색 #나무 자르기
- 영어회화
- 오픽노잼
- 탑다운
- XML주석
- 영어말하기
- 주석
- opic
- 바텀업
- XML
- 이진탐색
- 오픽점수잘받는방법
- ㅂ
- 디피
목록PS (254)
RUBY

출처:: 2019 카카오 신입 공채 https://programmers.co.kr/learn/courses/30/lessons/42891 분류:: 그리디 1. 문제 이해 및 해결과정 - 모든 음식을 시간을 기준으로 정렬한 뒤에, 시간이 적게 걸리는 음식부터 제거해 나가는 방식을 이용한다는 아이디어까지는 생각하였다. 2. 풀이방법 1. 그리디(최소힙) import heapq def solution(food_times, k): #전체 음식을 먹는 시간보다 k가 크거나 같다면 -1 if sum(food_times)
출처:: 2019 sw마에스트로 입학 테스트 분류:: 그리디 1. 문제 이해 및 해결과정 1번 풀이 1) n개 중에 2명이 뽑는 경우의 수 2) 같은 무게를 뽑는 경우 => 1번 - 2번 2번 풀이 1) 각 무게 마다 볼링공 몇 개 있는지 2) 경우의 수 더하기 ex) 1 2 2 3 3 이라면 [1,2,2,] 1. A가 무게가 1인 공을 선택할 때 경우의 수 -> 1*4(B가 선택할 수 있는 경우의 수 5-1) = 4 2. A가 무게가 2인 공을 선택할 때 경우의 수 -> 2*2(B가 선택할 수 있는 경우의 수 4-2) = 4 3. A가 무게가 3인 공을 선택할 때 경우의 수 -> 2*0(B가 선택할 수 있는 경우의 수 2-2) = 0 => 8가지 2. 풀이방법 1. 조합 #볼링공 고르기 # ''' 5 ..

출처:: https://www.acmicpc.net/problem/13458 1. 문제 이해 및 해결과정 1. 각 시험장의 응시자 수를 배열에 넣음 2. 각 응시자 수를 총 감독 인원 수로 나눠서 CNT+=몫 3. 응시자 수에서 총감독이 감독한 인원 뺌 4. 응시자 수에서 총 감독 인원수 뺀 값에서 부감독 인원수로 나눈 몫의 올림을 더함 CNT+= 몫의 올림 *주의할 점 -시험장 수 * 각 시험장의 최대 학생수 = 10^ 12 ->int형 범위 넘음 => total은 long long %lld 써야함 2. 풀이방법 1. ceil 올림 함수 이용 #if 01 //시험 감독 //https://www.acmicpc.net/problem/13458 #include #include #include using na..
출처:: programmers.co.kr/learn/courses/30/lessons/12933 분류:: 1. 문제 이해 및 해결과정 2. 풀이방법 1. 리스트 def solution(n): li=list(str(n)) li.sort(reverse=1) answer=''.join(li) return answer 3. 오답원인 4. 알게된 점
출처:: programmers.co.kr/learn/courses/30/lessons/12935 분류:: 1. 문제 이해 및 해결과정 2. 풀이방법 1. python def solution(arr): answer = [] arr.remove(min(arr)) answer=arr[:] if not arr: answer=[-1] return answer 3. 오답원인 4. 알게된 점

출처:: www.acmicpc.net/problem/17779 분류:: 구현, 시뮬레이션 1. 문제 이해 및 해결과정 1. x,y,d1,d1의 경우의 수 구하기 => 20*20*20*20=16000가지 , 한 케이스마다 인구수의 합 10830*20*20 2. 5로 경계선 만들어 주기 3. 구역별로 계산하기 (5를 만나면 멈춘다) 2. 풀이방법 1. python #게리맨더링2 #https://www.acmicpc.net/problem/17779 import sys sys.stdin = open("input.txt","r") n=int(input()) board=[[0] * (n + 1)]+[[0]+list(map(int,input().split())) for _ in range(n)] total=0 res..
출처:: programmers.co.kr/learn/courses/30/lessons/12906 분류:: 1. 문제 이해 및 해결과정 2. 풀이방법 1. python def solution(arr): answer=[] answer.append(arr[0]) for i in range(len(arr)-1): if arr[i]!=arr[i+1]: answer.append(arr[i+1]) return answer 3. 오답원인 4. 알게된 점
출처:: programmers.co.kr/learn/courses/30/lessons/12931?language=python3 분류:: 1. 문제 이해 및 해결과정 2. 풀이방법 1. 리스트 이용: 숫자를 문자로 처리하여 리스트에 넣으면 한글자씩 들어감 def solution(n): answer = 0 num=list(str(n)) for x in num: answer+=int(x) return answer 2. 몫과 나머지 이용 def solution(n): answer = 0 while True: if n==0: break answer+=n%10 n=n//10 return answer 3. 오답원인 4. 알게된 점