분류 전체보기 720

[백준][Python] 1992 쿼드트리

똑같이 분할정복. 출력 방식만 다름 import sys input = sys.stdin.readline def check(n,s_x,s_y): pivot = matrix[s_x][s_y] for i in range(s_x,s_x+n): for j in range(s_y,s_y+n): if matrix[i][j] != pivot: return False return True def compress_video(n,s_x,s_y): pivot = n//2 if n==1: q_tree.append(str(matrix[s_x][s_y])) return if check(n,s_x,s_y): q_tree.append(str(matrix[s_x][s_y])) return q_tree.append('(') for i i..

[백준][Python] 2876 그래픽스 퀴즈

a==b인경우 생각못해서 좀 걸렸다. import sys input = sys.stdin.readline N = int(input()) arr = [list(map(int, input().split())) for _ in range(N)] max_grade = {i:0 for i in range(1,6)} seq_grade = {i:0 for i in range(1,6)} for i in range(2): seq_grade[arr[0][i]] = 1 max_grade[arr[0][i]] = 1 for i in range(1,N): if arr[i][0] == arr[i][1]: arr[i].pop() for num in arr[i]: seq_grade[num] += 1 if num not in arr[i..

[백준][Python] 4134 다음 소수

체를 m까지만 돌려주고 그 m까지의 소수만을 가지고 n의 소수 판별을 하면 된다. 소수정리에따라 n다음의 소수는 n+ln(n)이전에 나와야 하니 n+ln(n)까지만 검사를 해주면 된다. import sys input = sys.stdin.readline from math import log2 def make_ast_sieve(): MAX = int(4e9) m = int(MAX**0.5)+1 sieve = [False,False] + [True] * m for i in range(2,m): if sieve[i]: for j in range(i+i,m,i): sieve[j] = False return [num for num in range(2,m) if sieve[num]] def prime_check(n..

[백준][Python] 16934 게임닉네임 : Trie

Trie insert, search만 조금 변형하면 된다. import sys input = sys.stdin.readline from collections import defaultdict class Node: def __init__(self): self.word = False self.children = {} class Trie: def __init__(self): self.root = Node() def insert(self, word): node = self.root for char in word: if char not in node.children: node.children[char] = Node() node = node.children[char] same_nick[word] += 1 node...

[React] React를 다루는 기술 3장 컴포넌트

존경하는 김민준 개발자님의 저서를 읽고 정리했습니다. 컴포넌트 컴포넌트의 기능은 단순 템플릿 이상이다. data가 주어졌을 때 이에 맞추어 UI를 만들어 줌, 라이프사이클 API를 통해 컴포넌트가 화면에 나타날때, 사라질떄, 변화가 일어날 때 이벤트를 통제하고 임의 메서드를 만들어 특별한 기능을 붙여 줄 수 있습니다. 클래스형 컴포넌트 클래스는 state및 라이프사이클 기능 사용가능, 임의 메서드 작성 가능. JS의 클래스는 ES6에서 생김. 그전에는 prototype을 사용해야했음. render함수 안에서 보여주어야 할 JSX를 반환해야함. 함수형 컴포넌트 선언하기 편하고 메모리 자원도 클래스형보다 덜 사용한다. 빌드 후 배포할때도 함수형 컴포넌트를 사용하는 것이 파일 크기가 더 작다. (별 차이 없긴..

frontend/React 2021.09.03

[JS] 자바 스크립트 30개 미니 프로젝트 만들기 - 5. Image_Gallary

Image_Gallary script 각 panel들을 가져와 각각에 click event 나 transition 이벤트가 끝났을 떄 특정한 함수를 실행시켜 class를 부여, 선택자를 동적으로 선택할 생각입니다. css /* Flex Children */ .panel > * { margin: 0; width: 100%; transition: transform 0.5s; /* border: 1px solid red; */ flex: 1 0 auto; display: flex; justify-content: center; align-items: center; } .panel > *:first-child { transform: translateY(-100%); } .panel.open-active > *:f..

frontend/JavaScript 2021.09.02

[백준][Python] 3673 나눌 수 있는 부분 수열

부분합이 d 이하인 것들의 갯수를 세어 각 부분합이 나온 갯수에서 2개를 뽑는 조합의 수를 모두 더해준다. import sys input = sys.stdin.readline for _ in range(int(input())): d, n = map(int, input().split()) arr = list(map(lambda x: int(x)%d, input().split())) visited = [1] + [0] * 1000000 sum_n = 0 for num in arr: sum_n = (sum_n + num) % d visited[sum_n] += 1 result = 0 for i in range(d): result += visited[i]*(visited[i]-1)//2 print(result)

[백준][Python] 3613 Java vs C++

리팩터링은 귀찮아서 못하겠슴둥.. 1. 맨앞 대문자 2. 대문자와 _ 가 같이 나오는 경우 import sys input = sys.stdin.readline var = input().rstrip() if var[0]=='_': print('Error!') exit() var_name = var.split('_') if len(var_name) > 1: answer = '' for char in var_name[0]: if char.isupper(): print('Error!') exit() answer += char for var in var_name[1:]: if var: if var[0].isupper(): print('Error!') exit() answer += var[0].upper() for..