일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- API 활용 신청
- 블로그 뉴비
- 새로고침
- 훈수 가능
- apk 빌드
- php-1
- 창업 300
- 고고학 최고의 발견
- 드림핵
- Redux
- 꿀팁 환영
- 티스토리챌린지
- expo
- 코딩테스트
- 사업계획서
- 오블완
- Dreamhack
- 공공데이터 포털
- react-router-dom
- 개발
- python
- url 랜더링
- 보안
- React
- 부산 맛집 OPEN API
- web-view
- level3
- redux state값 유지
- 프로그래머스
- Today
- Total
목록전체 글 (89)
1223v
https://www.acmicpc.net/problem/2847 그리디 문제이다. 역순으로 탐색하며, 값의 차이가 1이 나도록 하는 문제이다.#https://www.acmicpc.net/problem/2847import sysinput = sys.stdin.readlineN = int(input())score = []for i in range(N): score.append(int(input()))cnt = 0for i in range(N-1,0,-1): if score[i] 회고,이 역시 문제를 자세히 읽지 않고, N을 받는줄 모르고 첫줄도 값을 맞춰야하는 데이터 값인줄알고 풀다가 많이 헤맸다...문제를 잘읽자...
https://www.acmicpc.net/problem/13417 문자열 그리디 문제이다.# https://www.acmicpc.net/problem/13417import sysinput = sys.stdin.readlineTC = int(input())for _ in range(TC): N = int(input()) s = list(map(str,input().split())) result = s.pop(0) while s: tmp = s.pop(0) if tmp > result[0]: result = result + tmp else: result = tmp + result print(result)..
https://www.acmicpc.net/problem/7569기존에 2차원 토마토 문제에서 더 나아간 3차원 토마토이다. 초기 토마토 위치를 파악해 큐에 넣고 bfs를 통해 전염 시켜준다. 이를 통해 전염이 다 되었을때 증가하는 날짜를 확인한다.import sysinput = sys.stdin.readlinefrom collections import dequeN, M, H = map(int,input().split())s = [[list(map(int,input().split())) for _ in range(M)] for _ in range(H)]di = [-1, 1, 0, 0, 0, 0]dj = [0, 0, -1, 1, 0, 0]dz = [0, 0, 0, 0, -1, 1]queue = deque(..
https://www.acmicpc.net/problem/25195 백트래킹을 통한 뚫린 길 찾는 완전 탐색 문제이다.결론적으로 팬이 있는 길을 피해 끝까지 도달해야함으로끝 도달 판단, 팬이 있는지 검증이 중요하다. 문제에서는 사이클이 존재하지 않는다고 했으므로, 끝으로 도달 하는 판단은 s[v]가 비어있으면 끝에 도달했다고 판단하면 된다.이를 통해 팬 없이 s[v]가 0인 곳까지 오면 팬 없는 길이 존재한다는 뜻이 된다.import sysinput = sys.stdin.readlinesys.setrecursionlimit(1000000)N,M = map(int,input().split())s= [[] for _ in range(N+1)]visited = [False] * (N+1)for _ in ra..
https://www.acmicpc.net/problem/18352 bfs로 푸는 최단거리 문제이다. bfs로 방문하며, 이전 방문값에 +1한 값을 더하여 최종적으로 X에서 출발했을때, 거리가 K인 값을 찾는 문제이다.import sysinput = sys.stdin.readlinefrom collections import dequeN, M, K, X = map(int,input().split())s = [[] for _ in range(N+1)]visited = [-1] * (N+1)for _ in range(M): u,v = map(int,input().split()) s[u].append(v)def dfs(n,v): if n > K: return for i in ..
https://www.acmicpc.net/problem/2644 전형적인 특정 값 사이의 dfs 깊이 구하기 문제import sysinput = sys.stdin.readlineN = int(input())target1, target2= map(int,input().split())visited = [False] * (N+1)s = [[] for _ in range(N+1)]M = int(input())for _ in range(M): u,v = map(int,input().split()) s[u].append(v) s[v].append(u)chk = Falsedef dfs(n, start, end): global chk visited[start] = True if sta..
https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해시와 dfs를 조합하는 백트래킹 문제이다.문자열을 해시로 저장하여 만약 해당 문자열이 있는 경우 방문처리를 하여 조건에 걸리지 않도록 중복없는 완전탐색을 진행cnt = 0result = 0text = ""s_dict = {}def dfs(n, s): global cnt, result, text if s == text: result = cnt return if len(s) == 5: ret..
https://www.acmicpc.net/problem/24444 전형적인 bfs의 문제 방문 순서를 지정하는 것이므로, 고유한 값으로 visited를 갱신해야함cnt를 전역으로 선언해서 bfs에 방문이 될 때 마다 cnt 값을 증가시켜 값을 갱신import sysfrom collections import dequeinput = sys.stdin.readlineN, M, R = map(int,input().split())s = [[] for _ in range(N+1)]visited = [0] * (N+1)cnt = 1def bfs(v): global cnt queue = deque() queue.append(v) visited[v] = cnt while queue: ..
고민의 시작레디베리 점주의 주문접수 창이다.우리는 기본적으로 준 실시간성으로 데이터를 가져가기 위해서 폴링으로 데이터를 가져가고 있었다.그런데 어느날 학교 축제 주점의 결제 시스템으로 도입되게 되었고, 폴링에 따른 사용자도 늘어남에 따라서 CPU 사용량도 점점 올라가고 있는 상황이었다.또한, 축제가 끝난 뒤 기존으로 돌아와도 커피 스마트오더 특성상 점심시간 때, 혹은 2~3시에 주문이 피크였고, 그 이후에는 주문 수 적거나 아예 안들어오는 경우도 존재했다.💡 1. 주문이 없는 중에도 polling으로 계속 서버에 요청을 날리고 있음. 2. 사장님이 늘기 시작하면 polling에 따른 CPU 사용량과 네트워크 대역폭이 늘어남해결 가능한 방법론해당 글에서는 실시간 서버 푸시 요청, 응답에 대한 방법론 이야..
https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 아주 최악의 상황을 고려해도 최대 시간 * 사람 수 내에 다 들어옴으로 end = 최대 시간 * 사람 수시작은 1 중간값(정답 시간)을 배열 내 시간으로 나누면 그 시간에 들어갈 수 있는 인원의 총 수가 나온다.그 값이 기존 사람수보다 많다면 값이 너무 커 사람이 많이 들어온 것이므로 end값을 줄인다. 만약 그 값이 기존 사람 수 보다 적다면, 값이 너무 작아 사람이 많이 못들어온 것이므로 start 값을 높인다. def solution(n..