분류 전체보기(101)
-
[python 파이썬] 백준 1535번 안녕
1535번: 안녕 첫째 줄에 사람의 수 N(
2021.02.09 -
[python 파이썬] 백준 1739번 타일링
1793번: 타일링 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 숫자 0 ≤ n ≤ 250이 주어진다. www.acmicpc.net 얼핏보면 피보나치지만 문제의 조건에서 2*1 , 2*2 두가지 타일로 채울 수 있다고하여 수기로 채우는 방법을 적어보고 규칙을 찾아 풀었다 def cnt(n): fib=[0 for _ in range(n+1)] if n ==0 or n==1: return 1 fib[0]=1 fib[1]=1 for i in range(2,n+1): fib[i]=fib[i-1]+2*fib[i-2] return fib[n] while True: try: print(cnt(int(input()))) except: break
2021.02.05 -
[python 파이썬] 백준 2565번 파이썬
2565번: 전깃줄 첫째 줄에는 두 전봇대 사이의 전깃줄의 개수가 주어진다. 전깃줄의 개수는 100 이하의 자연수이다. 둘째 줄부터 한 줄에 하나씩 전깃줄이 A전봇대와 연결되는 위치의 번호와 B전봇대와 연결되는 www.acmicpc.net 이 문제는 정렬부터 했어야했는데 정렬을 생각해내지 못했다. 풀이법 1. A의 위치번호로 정렬하기 2. A에 연결된 B의 위치번호가 현재 가리키는 위치번호보다 위에 위치한 전깃줄의 최대 갯수에 +1 3. 전체에서 최대개수빼기 n = int(input()) line=[list(map(int,input().split())) for _ in range(n)] line.sort(key=lambda x :x[0]) dp=[0]*501 for s, d in line: dp[d]=m..
2021.02.05 -
스프링부트 서브쿼리
기존 짜둔 쿼리들을 가지고 스프링부트에 적용시키려고 했다. 기존 짜둔 쿼리에 서브쿼리를 굉장히 많이 썼는데 서브쿼리를 지양하라는 글을 봤다 [Querydsl] 서브쿼리 사용하기 안녕하세요! 이번 시간에는 Querydsl에서의 Subquery 기본 가이드를 진행합니다. 개인적으로 ORM을 사용하며, 객체지향적으로 엔티티가 구성되어있으면 서브쿼리가 필요한 일은 거의 없다고 생각하 jojoldu.tistory.com 서브쿼리 대신, 1. join으로 해결할 수 없는지 2. 어플리케이션에서 처리할 수 없는지 3. 쿼리를 나눠서 실행할 수 없는지 를 고려하라고 한다. 그래서 기존 짜놨던 서브쿼리를 조인으로 바꿔보려고한다!! ex. 매장세부조회 매장정보조회 쿼리 전) select s.storeName, s.deli..
2021.02.04 -
네이버로그인 API - 액세스토큰 발급, 사용자 정보 받기
카카오로그인 포스팅에서 말했듯 서버단에서는 테스트해볼 액세스토큰 발급과, 사용자정보 받아오는 로직만 짜면 된다. 1. 네이버 개발자센터에서 애플리케이션 등록후 ClientId, Secret키 발급 https://developers.naver.com/products/login/api/api.md 1) 내 애플리케이션 등록 위와 같이 입력을 완료하면 client ID와 client secret을 발급해준다. 2. 네아로 연동 URL 생성 url 창에 입력 client_id와 redirect_uri는 해당 값에 맞게 입력 https://nid.naver.com/oauth2.0/authorize?client_id=발급받은clientid&response_type=code&redirect_uri=http://127..
2021.02.03 -
[python 파이썬] 백준 1965번 상자넣기
1965번: 상자넣기 정육면체 모양의 상자가 일렬로 늘어서 있다. 상자마다 크기가 주어져 있는데, 앞에 있는 상자의 크기가 뒤에 있는 상자의 크기보다 작으면, 앞에 있는 상자를 뒤에 있는 상자 안에 넣을 수가 www.acmicpc.net 메모이제이션과 점화식 그리고 max를 사용하면 되겠거니 했는데 max를 어떻게 적용해야할지 떠올리지못했다. 그리고 for문은 왜 하나만 쓰는거에 꽂혀서 이중포문으로 생각을 안했다. 첫번째 풀이 - 틀림 dp를 초기화하고 상자에 들어갈수있다면 1씩 늘려줬는데 1씩 늘려서 그런지 느릴 것이고 그래서 틀린 것 같다. n = int(input()) box = list(map(int,input().split())) dp=[0]*1001 for i in range(n): for j..
2021.02.02