일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 바텀업
- 디피
- ㅂ
- dynamicProgramming
- stack 스택
- fibo
- 주석
- 메모이제이션
- 이진탐색
- 영어회화
- XML주석
- 오픽공부법
- XML
- 안드로이드
- 이진탐색 #나무 자르기
- 오픽노잼
- 오픽점수잘받는방법
- 안드로이드주석
- 피보나치수열
- 오픽노잼공부방법
- opic
- 오픽가격
- 영어말하기
- topdown
- 탑다운
- 오픽
- English
- dp
- 다이나믹프로그래밍
목록분류 전체보기 (298)
RUBY
출처:: www.acmicpc.net/problem/17298 분류:: 스택 1. 문제 이해 및 해결과정 - n의 숫자로 보았을 때, 이중 for문으로 풀면 시간초과 날 것이고, O(N),O(logN)을 고민해 봐야 한다 - 스택의 인덱스를 이용하여 push,pop한다. 1. stack의 인덱스를 순차적으로 이용한다 2. stack에 수가 있고, 현재 배열이 스택의 탑보다 크면 스택의 탑을 빼서(인덱스) 결과 인덱스 배열에 넣는다 3. 스택에 인덱스는 항상 추가한다. 2. 풀이방법 1. 스택 #오큰수 #https://www.acmicpc.net/problem/17298 import sys sys.stdin = open("input.txt","r") n=int(input()) #O(logN) O(N) O(..
출처:: www.acmicpc.net/problem/17413 분류:: 문자열 1. 문제 이해 및 해결과정 - 세 가지 변수를 두어 result에 저장한다. - . ' '는 저장하는 지점의 포인트가 된다 2. 풀이방법 1. #단어 뒤집기 2 #https://www.acmicpc.net/problem/17413 import sys sys.stdin = open("input.txt","r") flag=False #괄호가 열리는 것을 체크해주는 플래그 result='' #결과 tmp='' #괄호나 빈칸이 나올때까지 저장하는 임시변수 for ch in input(): #한글자 씩 if ch=='' tmp='' #괄호가 끝나면 result에 입력이 완료된 것이므로 초기화 elif ch==' ': result+= ..
출처:: www.acmicpc.net/problem/1929 분류:: 수학 1. 문제 이해 및 해결과정 - n이 백만이므로 시간복잡도를 고려해야한다 - 에라토스테네스의 체를 이용하면 O(NloglogN) 2. 풀이방법 1. 에라토스테네스의 체 #소수 구하기 #https://www.acmicpc.net/problem/1929 import sys import math sys.stdin = open("input.txt","r") m,n=map(int,input().split()) sosu=[True]*(n+1) sosu[1]=False for i in range(2,int(math.sqrt(n))+1): if sosu[i]: #소수라면 j = 2 while i*j
출처:: https://www.acmicpc.net/problem/10845 분류:: 큐 1. 문제 이해 및 해결과정 2. 풀이방법 #큐 #https://www.acmicpc.net/problem/10845 import sys from collections import deque sys.stdin = open("input.txt","r") q=deque() n=int(input()) for i in range(n): cmd=sys.stdin.readline().rstrip().split() if cmd[0]=="push": q.append(cmd[1]) elif cmd[0]=="front": if q: print(q[0]) else: print("-1") elif cmd[0]=="back": if q: ..
출처:: www.acmicpc.net/problem/1874 분류:: 스택 1. 문제 이해 및 해결과정 - 1~n까지 차례대로 push와 pop을 이용해서 주어진 수열을 만들 수 있는지 확인하는 문제 - 만들수 있다면 push는 + , pop은 -로 표현하고, 만들 수 없다면 NO를 출력한다 2. 풀이방법 1. 스택 #스택 수열 #https://www.acmicpc.net/problem/1874 import sys sys.stdin = open("input.txt","r") n=int(input()) stack=[] op=[] cnt=1 flag=True #수열을 만들 수 있는지 for i in range(n): num=int(input()) #입력받는 수열 while cnt
출처:: www.acmicpc.net/problem/9093 분류:: 문자열 , 스택 1. 문제 이해 및 해결과정 1. 파이썬 문자열 이용 1). 띄어쓰기 단위로 리스트에 넣음 ['I', 'am', 'happy', 'today'] 2). 리스트에서 출력할 때 뒤집어서 출력하고 띄어쓰기 넣기 2. 풀이방법 1. 문자열 #단어뒤집기 #https://www.acmicpc.net/problem/9093 import sys sys.stdin = open("input.txt","r") n=int(input()) for i in range(n): sent=input() data=list(sent.split(' ')) #띄어쓰기 단위로 list를 만듬 for x in data: #출력할 때 문자열 반대로 출력 prin..
출처:: https://www.acmicpc.net/problem/1158 분류:: 큐, 원형큐 1. 문제 이해 및 해결과정 - 원형 큐로 해결 2. 풀이방법 1.원형 큐 #요세푸스 문제 #https://www.acmicpc.net/problem/1158 import sys from collections import deque sys.stdin = open("input.txt","r") n,k=map(int,input().split()) q=deque(i for i in range(1,n+1)) cnt=0 result=[] while q: q.rotate(-(k-1)) result.append(q.popleft()) print("" %result[i]) 3. 오답원인 4. 알게된 점 deque.rotat..