본문 바로가기

분류 전체보기

백준 5569, 11726 - 출근 경로, 2xn 타일링 [dp] """ 백준 5569 """ w, h = map(int, input().split()) dp = [[[[0 for __ in range(2)] for _ in range(2)] for j in range(w)] for i in range(h)] for i in range(1,w): dp[0][i][1][0] = 1 for i in range(1,h): dp[i][0][1][1] = 1 # 0 0 회전 불가능 가로로 # 1 1 회전 가능 세로로 for i in range(1, h): for j in range(1,w): dp[i][j][0][0] = dp[i][j-1][1][1] dp[i][j][0][1] = dp[i-1][j][1][0] dp[i][j][1][0] = dp[i][j-1][0][0] + d.. 더보기
프로그래머스 - 입국심사 import sys from functools import reduce def solution(n, times): maximum, minimum = sys.maxsize, 1 cur = (maximum + minimum) // 2 while True: if reduce(lambda acc, i: acc + cur//i, times, 0) >= n: maximum = cur else: minimum = cur tmp = cur cur = (maximum + minimum) // 2 if tmp == cur: break return cur + 1 처음봤을땐 이게 뭐지.. 싶었는데 공부하고 다시 오니 정말 간단한 이분탐색문제다 더보기
카카오 가사검색 from collections import deque, defaultdict class Node(object): def __init__(self, key, data=None): self.key = key self.data = data self.count = 0 self.child = {} class Trie(): def __init__(self): self.head = Node(None) def insert(self, string): cursor = self.head for s in string: if s not in cursor.child: cursor.child[s] = Node(s) cursor.child[s].count += 1 cursor = cursor.child[s] cursor.data =.. 더보기
백준 7576 - 토마토 import sys from collections import deque input = sys.stdin.readline M, N = map(int, input().split()) arr = [list(map(int, input().split())) for _ in range(N)] dir = [ [1,0], [-1,0], [0,1], [0,-1] ] tomatoes = deque([]) for i in range(N): for j in range(M): if arr[i][j] == 1: tomatoes.append([i,j]) while tomatoes: y,x = tomatoes.popleft() nextVal = arr[y][x] + 1 for d in dir: ny = y + d[0] nx = x.. 더보기
MYSQL UPDATE 에러코드 1175 해결 1. SQL_SAFE_UPDATES 0으로 세팅 2. Edit - Preference 설정에서 Safe Update 체크 해제 더보기
프로그래머스 여행경로 - 백트래킹 def dfs(ans, routes, pointNum, answer, isFinished): if len(ans) == pointNum: if not isFinished[0]: for i in ans: answer.append(i) isFinished[0] = True return nexts = isPossible(ans[-1], routes) for next in nexts: if not isFinished[0]: next[1] = True ans.append(next[0]) dfs(ans, routes, pointNum, answer, isFinished) # 티켓 사용여부 False로 돌려놓음 next[1] = False ans.pop() def isPossible(start, routes): re.. 더보기
9월 2주차 계획 보호되어 있는 글입니다. 더보기
리액트로 GraphQL 써보기 공부한 것을 정리해본 글입니다. GraphQL in React! GraphQL은 URL로 요청을 보내서 정해진 데이터를 받아오는 rest api와는 달리 원하는 데이터를 찍어서 가져오는 것이 가능하다. GraphQL은 메시지 바디에 적절한 쿼리를 담아서 post 요청을 날려서 원하는 값을 받아오게된다. 이를 리액트에서 사용하는 것을 생각해보면 fetch나 axios를 써서 메시지 바디에 위에 있는 형식대로 담아서 쓰면 되기는 하겠지만 번거로운 점이 많다. 편리한 라이브러리를 두고 굳이 저렇게 할 이유는 없다. Apollo 라이브러리 이전 실습때 insomnia에서 post 요청으로 graphql에서 데이터를 가져왔던 것처럼 fetch나 axios를 사용해서 가져올 수는 있을 것이다. 하지만 react의 .. 더보기
Word 엔터 표시 없애기, 글자수 확인 1. 개행표시, 엔터 표시 없애기 체크해제 2. 글자수 확인 더보기
스프링 데이터 JPA, 쿼리 dsl 쿼리 dsl을 적용하기 위해서는 스프링 데이터 JPA의 인터페이스에 사용자 정의 리포지토리를 상속해야한다. public interface MemberRepo extends JpaRepository, MemberCustom { } public interface MemberCustom { List search(MemberSearchDTO condition); List searchPageSimple(MemberSearchDTO condition, Pageable pageable); List searchPageComplex(MemberSearchDTO condition, Pageable pageable); } public class MemberCustomImpl implements MemberCustom { /.. 더보기