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

출처:: programmers.co.kr/learn/courses/30/lessons/12949 분류:: 1. 문제 이해 및 해결과정 - 두 행렬 곱이 가능하기 위해서는 a*b b*c 의 형태여야한다 1. a*c의 결과배열을 만들어두거 2. for문으로 a,c,b의 반복문을 돌리면서 계산하면 된다 2. 풀이방법 1. for 문 def solution(arr1, arr2): result = [[0]*len(arr2[0]) for i in range(len(arr1))] for i in range(0,len(arr1)):#arr1행 for j in range(0,len(arr2[0])): #arr2열 for k in range(0,len(arr1[0])): result[i][j]+=arr1[i][k]*arr..
출처:: programmers.co.kr/learn/courses/30/lessons/12951 분류:: 1. 문제 이해 및 해결과정 2. 풀이방법 1. 함수 이용 str.upper() str.lower() def solution(s): s=list(s) #s가 문자열이라면 item assignment가 불가능함 #첫글자와 공백 다음문자는 대문자 #이외엔 소문자 flag=True #단어의 첫글자 for i in range(len(s)): if flag==True: #단어의 첫글자라면 s[i]=s[i].upper() flag=False else: #단어의 첫글자가 아니라면 s[i]=s[i].lower() #소문자로 if s[i]==" ": #공백 뒤에는 단어의 첫글자 flag=True return ''.j..
출처:: programmers.co.kr/learn/courses/30/lessons/64065 분류:: 1. 문제 이해 및 해결과정 2. 풀이방법 1. [ python ] 문자열 split def solution(s): answer = [] s = s[2:-2] #양쪽의 {{ }} 제거 s = s.split("},{") #숫자들과 집합안의 콤마만 남게 됨 ex.['1,2,3', '2,1', '1,2,4,3', '2'] s.sort(key = len) #길이 순서대로 담김 for i in s: tmp = i.split(',') #콤마를 기준으로 쪼갬 for n in tmp: #각 원소가 if int(n) not in answer: #answer안에 없으면 answer.append(int(n)) #추가하기..
출처:: programmers.co.kr/learn/courses/30/lessons/12945?language=python3 분류:: 1. 문제 이해 및 해결과정 2. 풀이방법 1. [python] 메모이제이션 def solution(n): memoi=[0 for i in range(n+1)] memoi[1]=1 for i in range(2,n+1): memoi[i]=(memoi[i-1]+memoi[i-2])%1234567 return memoi[n] 2. [python] 식 def solution(n): a,b=0,1 for i in range(n): a,b=(b)%1234567,(a+b)%1234567 return a 3. 오답원인 1. 재귀 -> 시간초과 + 런타임에러 def solution(n..
출처:: programmers.co.kr/learn/courses/30/lessons/12939?language=python3 분류:: 1. 문제 이해 및 해결과정 2. 풀이방법 1. [ python ] def solution(s): n=[] n=list(map(int,s.split(" "))) return str(min(n))+" "+str(max(n)) 3. 오답원인 4. 알게된 점
출처:: programmers.co.kr/learn/courses/30/lessons/12913 분류:: dp 1. 문제 이해 및 해결과정 2. 풀이방법 1. [python] dp def solution(land): for i in range(len(land) - 1): land[i + 1][0] = max(land[i][1], land[i][2], land[i][3]) + land[i+1][0] #i+1행 0열의 최대값(자신의 열 제외) land[i + 1][1] = max(land[i][0], land[i][2], land[i][3]) + land[i+1][1] land[i + 1][2] = max(land[i][0], land[i][1], land[i][3]) + land[i+1][2] land[i..
출처:: programmers.co.kr/learn/courses/30/lessons/12941 분류:: 1. 문제 이해 및 해결과정 2. 풀이방법 1. zip함수이용 def solution(A,B): answer = 0 A=sorted(A) B=sorted(B,reverse=True) answer=sum([a*b for a,b in zip(A,B)]) return answer - 거꾸로 생각해보자 2. def solution(A,B): answer = 0 A=sorted(A) B=sorted(B,reverse=True) for i in range(len(A)): answer+=A[i]*B[i] return answer 3. 오답원인 4. 알게된 점
출처:: programmers.co.kr/learn/courses/30/lessons/12911 분류:: 구현 1. 문제 이해 및 해결과정 2. 풀이방법 1. [python] count함수 이용 def two_digit(num): result="" while num>0: remainder=num%2 num=num//2 result=str(remainder)+result return result def solution(n): answer = 0 digit=two_digit(n) onecnt=digit.count('1') i=n+1 while True: tmp=two_digit(i) tmpcnt=tmp.count('1') if onecnt==tmpcnt: return i i+=1 return answer 2..