분류 전체보기
[Python] 백준 1167, 1967
입력값의 차이 외에는 똑같은 문제이다. 먼저 트리의 지름을 찾는데에는 rule이 있다. ✔ 트리에서 임의의 노드(A)를 선택해 가장 먼 노드를 찾는다. -> B ✔ B에서 가장 먼 노드를 찾는다. -> C ✔ 그러면 B와 C사이의 거리가 가장 멀다. (==지름) 이 규칙을 알면 쉽게 쉽게 풀 수 있겠다. 모르면 ㅠㅠ 삽질 하니까 알고있자... Answer 1167 import sys from collections import defaultdict from collections import deque n=int(sys.stdin.readline()) dic=defaultdict(list) for i in range(n): l=list(map(int,sys.stdin.readline().split())) a..
[Python] 백준 10917
어려웠던 문제는 스스로 솔브해도 다른 사람 풀이랑 비교하기 위해서 검색을 해보는데 푼 사람이 별로 없어서 검색해도 안나와서 슬펐당... 내 답이 최적인지는 모르겠으나 일단 풀었고 푼 사람이 별로 없어서 나라도 리뷰를 써놔야지,,😇 일단 나는 BFS + 우선순위Q로 풀었다. 딕셔너리를 만들고 x를 key로 y를 value로 두고, value는 우선순위Q 내림차순으로 저장했다. (꿈은 더 큰 수로 이동하고 N이 가장 크기 때문에 N을 가지고 있다면 바로 그만 할 수 있게하기 위함) 그리고 queue에 현재 위치와 현재 상황이 바뀐 횟수를 저장하며 BFS를 한다. N을 만나면 그만한다. (bfs니까 처음만날 때 최소) Result import sys from collections import defaultdi..
[Python] 백준 2089
덕분에 파이썬에서 a//b가 어떻게 동작하는지 정확히 알 수 있었다. 이렇게 동작한다고 한다. import sys n = int(sys.stdin.readline()) if n == 0: print(0) else: res = [] while n != 0: if n%(-2) == 0: res.append('0') n = n//(-2) else: res.append('1') n = n//(-2) +1 print(''.join(reversed(res)))
[MYSQL] Data INSERT, UPDATE, DELETE
INSERT 기본형 INSERT INTO table VALUES (data); 전체 컬럼에 데이터 추가 INSERT INTO table VALUES (data1,data2,...); 컬럼 지정해서 데이터 추가 (NOT NULL이 존재하면 X) INSERT INTO table (column1, column2,...) VALUES (data1,data2,...); 한 번에 여러 row의 데이터를 추가 INSERT INTO table VALUES (data1,data2,...),(data1,data2,...); UPDATE 기본형 UPDATE table SET column1 = data1 WHERE column2=data2; 테이블에 있는 column1의 값을 data1로 모두 변경 UPDATE table S..
[Python] 백준 1442
solution은 간단하게 받은 수 중에서 가장 큰 수를 n-k개 더 만들어 주고 그 수들로 정렬하면 된다. 단, 정렬할 때 문제에서 준 예제와 같이 7 3 2 처럼 주어진 숫자가 같은 자리 숫자라면 상관 없지만 9 90 990 과 같은 숫자가 주어졌을 때 문제가 생긴다. 가장 큰 수 부터 정렬하면 990 90 9 이지만 실제로 가장 큰 수를 만들기 위해서는 9 990 90 와 같이 정렬되어야 한다. 예전에 풀었던 문제에서 해결 방법을 찾았다! num.sort(key = lambda x: x*10, reverse=True) num의 숫자들은 type이 문자열이다. 이 문제의 최대 범위가 1,000,000,000 이므로 숫자의 최대길이가 10이다. 그러므로 길이 10만큼만 비교하면 된다. 예를 들면, 20..
[Python] 백준 6549
교훈 : 플래라고 겁먹지 말자 stack을 이용해서 풀었다 stack 삽입 : index와 높이(h) 원리 : 현재 index보다 stack에 있는 index(나보다 왼쪽)의 h가 더 크면 현재 index의 h값으로 왼쪽도 포함할 수 있다. 더보기 여기서 오른쪽의 높이(2) 로 왼쪽을 포함하여 넓이가 4가 될 수 있다. 이 원리를 이용해 stack으로 풀 수 있었다! import sys while True: #마지막에 stack에 있는 값을들 다 꺼내기 위해 마지막 h값은 0 h = list(map(int, sys.stdin.readline().split())) + [0] if h[0] == 0: break n = h[0] stack = [(1,h[1])] res = 0 for i in range(2,n..
[JavaScript] Fetch API로 JSON Parsing
Fetch 덕분에 바닐라JS로 간단하게 Ajax를 사용할 수 있게 되었다고한다. 이 전에 Ajax를 사용해 본 적은 없지만 확실히 XMLHttpRequest 보다는 간단 Fetch API JSON 파싱해서 표 만들기 ID title body json sample data -> jsonplaceholder.typicode.com JSONPlaceholder - Free Fake REST API {JSON} Placeholder Free fake API for testing and prototyping. Powered by JSON Server + LowDB As of Dec 2020, serving ~1.8 billion requests each month. jsonplaceholder.typicode.c..
[MYSQL] 우유와 요거트가 담긴 장바구니
Programmers -> Summer/Winter Coding(2019) SELECT A.CART_ID FROM (SELECT CART_ID FROM CART_PRODUCTS WHERE NAME = 'Milk') AS A JOIN (SELECT CART_ID FROM CART_PRODUCTS WHERE NAME = 'Yogurt') AS B ON A.CART_ID = B.CART_ID; ❗ JOIN 할 때 ON으로 묶어줄 칼럼 정하는거 잊지말기 ❗
[JavaScript] JQuery와 Ajax
기본요청 양식 GET 방식 요청 GET POST 방식 요청 POST data전송 / data요청 GET 방식 요청 GET POST 방식 요청 POST get과 post메소드가 따로 있음 GET 방식 요청 GET POST 방식 요청 POST data전송 / data요청 GET 방식 요청 GET POST 방식 요청 POST etc... .done(function() { //요청 성공시 실행하는 메소드 }) .fail(function() { //요청 실패시 실행하는 메소드 //errorThrown(세번째 파라미터) 이용해 오류 도출 가능 }) .always(function() { //성공과실패 여부에 상관없이 실행하는 메소드 });