일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- FetchType
- shared lock
- execute
- CHECK OPTION
- eager
- 연결리스트
- 연관관계
- 즉시로딩
- JPQL
- dfs
- 지연로딩
- querydsl
- 유니크제약조건
- 다대다
- 비관적락
- 스토어드 프로시저
- 이진탐색
- 데코레이터
- 다대일
- 낙관적락
- PS
- 동적sql
- 힙
- 일대다
- exclusive lock
- SQL프로그래밍
- 스프링 폼
- 백트래킹
- fetch
- BOJ
- Today
- Total
목록All (557)
흰 스타렉스에서 내가 내리지
opacity를 0에서 1로 하면 animation 먹힘 근데 그러면 안보이는데로 클릭 가능해짐 이를 방지하기 위해서 pointer-events: none; 하면 됨 클릭을 안되게 만들 수 있다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bLSWbD/btruUnYKhfv/KNqhSUoeKjYlPpXALtcZPK/img.png)
코드 순서를.. x*2를 맨 앞에 놔야 통과한다 x*2를 마지막에 넣었을 때랑 결과값이 다르게 나온다. 질문 검색을 해보니, 그냥 우연히 이렇게 된것. x*2를 0초마다 갈 수 있다는 말을 다른말로 하면, 가중치가 0인 간선이 있다는 것이다. bfs는 모든 간선의 가중치가 동일해야 쓸 수 있음 0-1BFS라는 방법이 있는데, 이건 가중치가 0 인 간선에 연결된 정점은 큐의 맨 뒤가 아닌 맨 앞에 넣는 방법이다. appendleft등을 이용해서. 다른 방법으로는, x*2를 별도의 간선으로 생각하지 않고, +1이나 -1에 의한 좌표를 큐에 넣을 때 그 좌표의 2의 거듭제곱 배인 좌표들을 전부 큐에 넣는 방법이다., from collections import deque import sys input = sys..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dNzwcu/btrupH6rCr0/J4yIW8K3BDUuonTQpxVtgk/img.png)
permutation을 이용해 brute force로 처음에 접근을 했는데, 시간초과가 났다. dfs로 풀면 시간초과를 피할 수 있다. n = int(input()) arr = list(map(int, input().split())) oper = list(map(int, input().split())) maxval, minval = -1e9, 1e9 def solve(index, val, add, sub, mul, div): global maxval, minval if index == n: maxval = max(maxval, val) minval = min(minval, val) return if add: solve(index+1, val+arr[index], add-1, sub, mul, div) i..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bSBXrz/btruk5lA06c/5qG1AY5oLDVNkF0PiR5MIk/img.png)
전형적인 bfs문제. 시간이라는 개념이 문제에 섞여있는데, 큐에 좌표와 day까지 같이 넣어주면 된다. 최종 걸린 시간은, 큐가 끝날 때의 day가 된다. from collections import deque def main(): dx = [1, -1, 0, 0] dy = [0, 0, 1, -1] m, n = map(int, input().split()) arr = [list(map(int, input().split())) for _ in range(n)] q = deque() for i in range(n): for j in range(m): if arr[i][j] == 1: q.append((i, j, 0)) while q: x, y, day = q.popleft() for i in range(4):..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bTizXu/btrtHCR7IQY/0AazrlWq4O0lpoBVxyUiQK/img.png)
이분그래프에 대해 공부한 적이 있어서 금방 풀었던 문제. from collections import deque def main(): for _ in range(int(input())): V, E = map(int, input().split()) graph = [[] for __ in range(V+1)] for ___ in range(E): a, b = map(int, input().split()) graph[a].append(b) graph[b].append(a) if isBipartite(graph): print('YES') else: print('NO') def isBipartite(graph): vertices = len(graph) colors = [None] * vertices visited ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/FYCBZ/btrtB8B1Weq/JXvJbl2HiNiwWIOamNuoV0/img.png)
Selenium은 프로그램을 이용해 자동화된 웹 테스트를 수행할 수 있도록 해주는 프레임워크다. 크롭드라이버를 현재 내 컴퓨터에 설치된 크롬의 버전에 맞는 걸로 다운로드 받고, 원하는 경로에 저장한다. 나는 메인코드를 실행하는 폴더에 같이 넣었다. from selenium import webdriver driver = webdriver.Chrome('./chromedriver') driver.get('https://www.naver.com') 실행하면 네이버가 켜질 것이다. 1. get() 함수 매개변수로 이동할 주소를 넣어줌. 함수명에서 직관적으로 무슨 역할을 하는지 알 수 있겠다. 2. find_element_by_ ~~ 함수 대표적으로 4가지 종류가 있는데, find_element_by_id() f..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/uenka/btrtzaUQ3jM/BXRn3kIGCueYflSzyKUVZ1/img.png)
이전 게시물에서 시가총액 상위 기업들의 순위들을 긁어왔었는데, 그것을 txt파일에 저장해보자. import requests from bs4 import BeautifulSoup file = open('rank.txt', 'w') naver_finance = requests.get('https://finance.naver.com/sise/sise_market_sum.naver') naver_finance_html = BeautifulSoup(naver_finance.text, 'html.parser') corps = naver_finance_html.select('tbody .tltle') file.write('시가총액 순위') for i in range(1, len(corps)+1): file.write..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ETicI/btrtvsI8g67/3XlvD5VsMk76Iokn4DbNAk/img.png)
import requests from bs4 import BeautifulSoup naver_finance = requests.get('https://finance.naver.com/sise/sise_market_sum.naver') naver_finance_html = BeautifulSoup(naver_finance.text, 'html.parser') corps = naver_finance_html.select('tbody .tltle') print('시가총액 순위') for i in range(1, len(corps)+1): print(f'{i} : {corps[i-1].text}')