[Codetree] 트로미노 Python
·
🔻PS/Codetree
https://www.codetree.ai/missions/2/problems/tromino/description 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai n, m = map(int, input().split(" "))graph = []visited = [[0 for _ in range(m)] for _ in range(n)]for _ in range(n): temp = list(map(int, input().rstrip().split(" "))) graph.append(temp)answer = []max_val = 0dx = [0, 0..
[Algorithm] 달팽이 배열(나선형 배열)
·
🔻Computer Science/Algorithm
❗달팽이 배열나선형으로 배열을 채우는 패턴으로 배열을 돌면서 값을 순서대로 채우는 배열을 말한다. 일반적으론 왼쪽 상단에서 시작해서 안쪽으로 채우는 경우가 많고, 변형으로 중앙에서 시작해서 바깥쪽으로 나가는 방식도 있다  ❗좌측 상단에서 시작n, m = map(int, input().split(" "))graph = [[0 for _ in range(m)] for _ in range(n)]visited = [[0 for _ in range(m)] for _ in range(n)]dx = [0, 1, 0, -1]dy = [1, 0, -1, 0]d = 0x = 0y = 0graph[x][y] = 1visited[x][y] = 1for i in range(2, n * m+1): nx = x + dx[d]..
[DS] Trie(트라이)
·
🔻Computer Science/Data Structure
❗Trie란?Trie(트라이)는 문자열을 저장하고 효율적으로 검색하기 위한 트리 기반 자료구조이다. 특히 문자열의 접두사(prefix) 검색에 강점이 있고 자동 완성, 사전 검색, 문자열 집합에서의 중복 확인 등에 유용히다각 노드는 하나의 문자를 저장하고 자식 노드로 이어지는 링크들을 가지며 루트에서 시작해 각 문자를 따라가면 하나의 문자열이 완성된다. 루트 노드는 아무 문자도 저장하지 않고 자식 노드들로 각 문자가 연결각 노드는 문자와 자식 노드들을 가짐단어의 끝을 표시하는 종료 노드가 필요하며 보통 플래그로 설정  ❗Trie의 복잡도삽입/탐색 시간복잡도O(L) (L은 문자열의 길이) 문자열의 길이에 비례하기 때문에 길이가 짧을수록 빠른 퍼포먼스를 낼 수 있다. 공간복잡도O(∑L) (저장된 모든 문자열..
[Baekjoon] 백준 20056 마법사 상어와 파이어볼 Python
·
🔻PS/Baekjoon
https://www.acmicpc.net/problem/20056 ❗풀이방법각 단계별 new_graph 생성nx, ny는 음수 발생을 방지하기 위해 +n 후에 %n각 위치에 요소가 2개 이상 담겨있는 경우에 파이어볼을 4개로 분할graph를 new_graph로 업데이트 ❗코드import sysinput = sys.stdin.readlinen, m, k = map(int, input().split(" "))graph = [[[] for _ in range(n)] for _ in range(n)]dx = [-1, -1, 0, 1, 1, 1, 0, -1]dy = [0, 1, 1, 1, 0, -1, -1, -1]for _ in range(m): r, c, m, s, d = map(int, input()...
[Programmers] 프로그래머스 연속 부분 수열 합의 개수 Python
·
🔻PS/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  ❗풀이 방법한 인덱스를 기준으로 잡고 그 앞에 있는 원소를 리스트의 맨 뒤로 붙여줌해당 리스트에서 수열의 길이를 1부터 n까지 늘려감결과는 set으로 생긴 result에 담아서 중복을 줄임  ❗코드def solution(elements): result = set() elements_len = len(elements) for n in range(elements_len)..
[Microsoft] AZ-900 인증 취득
·
🔻Certificate/Cloud
❗AZ-900이란?https://learn.microsoft.com/ko-kr/credentials/certifications/azure-fundamentals/?practice-assessment-type=certification Microsoft Certified: Azure Fundamentals - Certifications클라우드 개념, 핵심 Azure 서비스와 더불어 Azure 관리 및 거버넌스 기능과 도구에 대한 기본 지식을 입증합니다.learn.microsoft.comAZ-900은 Microsoft에서 제공하는 Azure Fundamentals 자격증 시험입니다. Microsoft Azure에 대한 기본적인 지식을 테스트하고 클라우드 컴퓨팅을 처음 접하거나 Azure의 기초적인 개념을 배우..
[Python] and(&) or(|) xor(^) 연산
·
🔻Language/Python
파이썬에서 and, or, xor  연산은 비트 연산자와 논리 연산자로 사용된다. ❗and(&) 연산자a = 5 # 101 b = 3 # 011result = a & b # 비트 단위 and 연산 => 101 & 011 → 001 (즉, 1)print(result) # 출력: 1 (이진수로 001)a = Trueb = Falseresult = a and b # 논리 and 연산print(result) # 출력: False ❗ or(|) 연산자a = 5 # 101b = 3 # 011result = a | b # 비트 단위 or 연산 => 101 | 011 → 111 (즉, 7)print(result) # 출력: 7 (이진수로 111)a = Trueb = Falseresult = a or ..
[Programmers] 프로그래머스 다음 큰 숫자 Python
·
🔻PS/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr def solution(n): one_count = bin(n).count('1') while True: n += 1 if bin(n).count('1') == one_count: return n
[Baekjoon] 백준 20922 겹치는 건 싫어 Python
·
🔻PS/Baekjoon
https://www.acmicpc.net/problem/20922 import sysinput = sys.stdin.readlinen, k = map(int, input().split(" "))num = list(map(int, input().split(" ")))counter = [0 for _ in range(max(num)+1)]max_val = 0start = 0end = 0while end k: counter[num[start]] -= 1 start += 1 max_val = max(max_val, end - start + 1) end += 1print(max_val)
[Baekjoon] 백준 1806 부분합 Python
·
🔻PS/Baekjoon
https://www.acmicpc.net/problem/1806 import sysfrom collections import Counterinput = sys.stdin.readlinen, s = map(int, input().split(" "))num = list(map(int, input().split(" ")))sum = num[0]start = 0end = 0min_val = 100000000000while True: if sum >= s: min_val = min(min_val, end-start+1) sum -= num[start] start += 1 else: end +=1 if end == n: ..
_니지
'분류 전체보기' 카테고리의 글 목록 (4 Page)