본문 바로가기

분류 전체보기241

많은 조건 분기 ------숫자 범위에 따른 조건분기를 빠르게 하기 위해서는 여러 방법을 사용할 수 있습니다. Python을 예로 들어, 다양한 방법을 소개하겠습니다.기본 조건문 사용:Python의 기본 조건문(if-elif-else)을 사용하여 범위에 따른 조건을 처리할 수 있습니다. 이는 직관적이지만 조건이 많아질수록 코드가 길어집니다.def categorize_number(num): if num 10: return "Less than 10" elif 10 num 20: return "Between 10 and 19" elif 20 num 30: return "Between 20 and 29" else: return "30 or more.. 2024. 6. 28.
암호 만들기 1759 def is_valid(password): vowels = set('aeiou') num_vowels = sum(1 for char in password if char in vowels) num_consonants = len(password) - num_vowels return num_vowels >= 1 and num_consonants >= 2def backtrack(start, path): if len(path) == L: if is_valid(path): print(''.join(path)) return for i in range(start, C): path.append(chars[i]) .. 2024. 6. 26.
6443 애너그램 https://www.acmicpc.net/problem/6443  문제 설명주어진 단어의 철자를 재배열하여 만들 수 있는 모든 단어를 출력하는 프로그램을 작성합니다.입력된 단어는 소문자로 이루어져 있으며, 알파벳 순서로 정렬된 상태로 출력해야 합니다.동일한 애너그램은 한 번만 출력합니다.예제 입력2abcacba예제 출력abcacbbacbcacabcbaaabcaacbabacabcaacabacbabaacbacabcaacaabcabacbaa단계별 설명1. 입력 처리입력된 단어의 수와 각 단어를 읽어옵니다. 이를 위해 sys.stdin을 사용하여 표준 입력을 처리합니다._, *cases = stdin.readlines()2. 애너그램 생성 함수애너그램을 생성하는 핵심 함수인 find_anagrams를 구현합니.. 2024. 6. 23.
리스트 인 리스트 문제- 값 전달과 객체 전달 https://www.sololearn.com/en/compiler-playground/cmz9Q7PhQ2s8 Node.JS Playground - LIST IN LIST Problem. SOLVED: Online Interpreter, Compiler & Editor | SololearnUse our FREE Python online compiler to write, run and share your code. Works directly from your browser without any additional installation.www.sololearn.com리스트를 객체 전달고 append하면 의도하지 않게 모든 원소가 바뀌는 문제2018년에 파이썬 공부할 때 처음에 많이 당황한다는 이 문제를 긴.. 2024. 6. 23.
스케치업이 교육용으로 무료였구나! 입체를 하거나 할 때 도움이 되는 스케치업을 무료로 사용할 수 있겠다! 2024. 6. 22.
비트 연산의 활용 https://www.acmicpc.net/problem/15917https://velog.io/@octo__/C-%EC%A3%BC%EC%96%B4%EC%A7%84-%EC%88%AB%EC%9E%90%EA%B0%80-2%EC%9D%98-%EC%A0%9C%EA%B3%B1%EC%88%98%EC%9D%B8%EC%A7%80-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0 [C++] 주어진 숫자가 2의 제곱수인지 확인하기알고리즘 문제에서 종종 주어진 수가 2의 제곱수($2^{n}$)인지 확인할 필요가 있다. 아래는 이를 위해 구현된 몇가지 예시들이다. while 문 사용 가장 쉽게 생각할 수 있는 방법 중 하나로 주어진 숫velog.iohttps://velog.io/@valentin123/%EB%.. 2024. 6. 17.
강아지 식사 방 만들기 def minimumRoomNeeded(times): #이벤트가 기록된 포인트의 집합을 일순하면서 #현재 시각과 일시하는 시작시간만큼 개수를 더하고 #현재시각과 일치하는 종료시각만큼 빼서 맥스값 관리. starts, ends = zip(*times) every = sorted(set(starts+ends)) rooms = 0 res=0 for p in every: rooms += starts.count(p)-ends.count(p) res = max(rooms,res) return resdef main(): N = int(input()) times = [] for _ in range(N): .. 2024. 6. 14.
룬 알고리즘 룬 알고리즘 (Luhn Algorithm)들어가며룬 알고리즘(Luhn Algorithm)은 1954년 IBM의 과학자 한스 피터 룬(Hans Peter Luhn)에 의해 개발된 단순한 오류 검출 알고리즘입니다. 주로 신용카드 번호, IMEI 번호 등 다양한 식별 번호의 유효성을 검증하는 데 사용됩니다. 이 글에서는 룬 알고리즘의 작동 원리, 숫자 예시, 코드 예시, 그리고 실생활 적용 사례에 대해 자세히 설명하겠습니다.룬 알고리즘의 작동 원리룬 알고리즘은 다음과 같은 단계를 거쳐 유효성을 검증합니다:오른쪽에서 왼쪽으로 모든 자리를 확인합니다.짝수 위치에 있는 숫자(맨 오른쪽 숫자는 1번 위치)를 두 배로 만듭니다. 만약 두 배로 만든 숫자가 9보다 크면 각 자릿수를 더해 한 자릿수로 만듭니다.모든 자리 .. 2024. 6. 14.
라즈베리파이 클러스터 병렬처리 테스트 1 멘델브로트 집합 그리기 import numpy as npimport matplotlib.pyplot as pltfrom mpi4py import MPIimport timedef mandelbrot(c, max_iter): z = c for n in range(max_iter): if abs(z) > 2: return n z = z*z + c return max_itercomm = MPI.COMM_WORLDrank = comm.Get_rank()size = comm.Get_size()# 이미지 크기와 맨델브로트 집합의 범위 설정width, height = 800, 800re_start, re_end = -2, 1im_start, im_end = -1.5, 1.5max_.. 2024. 6. 12.
RaspberryPi5 클러스터 만들기 - K3S 설치 아주 긴 시간의 시행착오 끝에 쿠버네티스 설치에 성공했다.처음부터 라즈베리파이 공식 홈페이지랑 외국 블로그 글을 참고할 것을...우리나라 구버전 설명 보고 한 번 꼬이고 두 번 꼬이고 한 달이 날아갔다.(특히 챗 gpt의 조언을 주의해야 한다 ㅋㅋㅋ)K8S와 ansible을 깔려다가 실패하고 한 달쯤 고생하다가 이미지를 시원하게 밀어버리고 k3s를 깔았다.공식 사이트의 글 중 설치 방법을 번역하고 일부 추가해서 올려두면 다음 번에 도움이 될 것 같아서 글로 남긴다.https://everythingdevops.dev/step-by-step-guide-creating-a-kubernetes-cluster-on-raspberry-pi-5-with-k3s/ Step-by-Step Guide: Creating a.. 2024. 6. 8.
BFS DFS import sysfrom collections import defaultdictdef dfs(x, y, house_count): # 현재 위치를 방문 처리 visited[(x, y)] = True house_count[0] += 1 # 상하좌우 방향 정의 directions = [(-1, 0), (1, 0), (0, -1), (0, 1)] # 상하좌우로 이동하며 연결된 집 찾기 for direction in directions: nx, ny = x + direction[0], y + direction[1] if 0 import sysfrom collections import deque, defaultdictdef bfs(x, y): #.. 2024. 6. 8.
🐨5525]IOIOI🐍(feat번뜩이는 아이디어가 안 좋았던 건에 대하여) https://www.acmicpc.net/problem/5525나름대로 이런 아이디어를 떠올리고 좋아했는데....#패턴과 부분 문자열을 뒤쪽부터 비교해서 연속 몇 개가 맞거나 틀렸는지 살펴봅니다.def compare(a, b, len_pattern): count = 0 same = a[-1] == b[-1] for i in range(1, len_pattern+1): if (a[-i] == b[-i]) == same: count += 1 else: #same이 1이면, 홀수면 그대로 짝수면 1 빼기, #same이 0이면, 홀수면 1 빼고 짝수면 그대로 count -=int(same)-.. 2024. 6. 6.