일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 1
- 3
- 오픽
- 11066
- 오늘의 계획
- 스택
- 수 정렬하기2
- DFS
- 2
- 백준풀이
- 백트래킹
- Greedy
- 파이썬
- 컴공
- 브루트포스
- 코딩
- DP
- ENFJ
- Python
- 12969
- 정렬
- 더하기 시리즈
- 다이나믹 프로그래밍
- 정규 표현식 #문자열
- 구현
- HTML
- knuth_optimization
- 웹 페이지 입문
- BFS
- 백준
- Today
- Total
목록전체 글 (91)
코딩하는 Fug
#1167 트리의 지름 import sys sys.setrecursionlimit(10**6) input=sys.stdin.readline #임의의 두점 사이의 거리 중 가장 긴 것 #s를 시작점으로 하는 현재 경로의 최댓값 d , visited로 탐색 def dfs(s,d): global answer,index if answer
#1013 contact ''' (100+1+ l 01)+ 1로 시작하면 0 2개 이상 다음 1 1개 이상 그후에 1을 쭉 지우다가 뒤에 0이 2개 이상인게 나오면 while 처음으로 # 0을 다 지웠는데 str이 안 남아 있으면 false 뒤에 100임을 확인하기 위해 미리 지워놔야 인덱스 오류가 안남 0으로 시작하면 다음 1무조건 0으로 시작하고 다음 1 이면 01 없애기 ''' for t in range(int(input())): answer_str = input() tmp_len=0 while len(answer_str) and tmp_len!=len(answer_str): tmp_len=len(answer_str) if answer_str[0:3]=='100': answer_str=answer_..
https://www.acmicpc.net/problem/12969 12969번: ABC 첫째 줄에 문제의 조건을 만족하는 문자열 S를 출력한다. 가능한 S가 여러 가지라면, 아무거나 출력한다. 만약, 그러한 S가 존재하지 않는 경우에는 -1을 출력한다. www.acmicpc.net #전형적인 dp문제이다 #아이디어 자체는 생각이 났으나 구현이 어려워서 힘들었던 문제 #밑에서 위로 올려서 출력시키는 방식이 생각해내기 어려웠다. #12969 ABC import sys input=sys.stdin.readline n,k=map(int,input().split()) ''' for문으로 할수 있는가? 안됨 왜냐 순서대로 되는게 아님 ㅇㅇ 가지 뻗듯이 나가야함 알아야 하는것 1. a 이전개수 2. b 이전개수 3..
https://www.acmicpc.net/problem/10942 #dp 10942번: 팰린드롬? 총 M개의 줄에 걸쳐 홍준이의 질문에 대한 명우의 답을 입력으로 주어진 순서에 따라서 출력한다. 팰린드롬인 경우에는 1, 아닌 경우에는 0을 출력한다. www.acmicpc.net 우선 palindrome은 데칼코마니 처럼 앞뒤가 같은 문장을 말한다. 첫번째 생각한건 아 이거 dp다 두번째는 그럼 어떻게.. 맞긴했지만 다른 사람 코드도 보면서 공부하였다. #10942 팰린드롬 from sys import stdin input=stdin.readline ''' 자연수 n 질문 m 각질문 두정수 s e s부터 e까지 수가 팰린드롬이냐 이다 아니다 대답 1 2 1 3 1 2 1 이면 1 3 은 121이 이다 2..
2751 실5 문제 풀다가 정렬에 대해 부족한걸 깨닫고 글 적어본다. 두가지, 병합 정렬과 퀵정렬 그리고 그것을 파이썬으로 구현한거를 분석해보자. 퀵정렬 예전에 해보기도 했고 만만하게 봤다가 숫자를 처리하는 방법을 생각하지 못해서 곤욕을 치뤘다. 퀵정렬이란 특정 피봇(아무 숫자) 정해놓고 왼쪽 #실5 2751 수 정렬하기2 퀵정렬 from sys import stdin input=stdin.readline n=int(input()) #n입력 l=[int(input()) for i in range(n)] def quick_sort(start,end,l): if start>end: return [] pivot=l[(end-start)//2] left=[x for x in l if pivot>x] right=..