본문 바로가기

전체 글274

백준 온라인 저지(Baekjoon Online Judge) 이용 방법 1. 백준 온라인 저지 소개백준 온라인 저지는 2009년에 개발된 한국의 대표적인 온라인 프로그래밍 학습 플랫폼이다. 알고리즘, 자료구조, 수학, 구현 등 여러 주제의 문제를 풀며 코딩 실력을 키울 수 있다. 주요 특징은 다음과 같다:다양한 난이도, 광범위한 언어 지원, 온라인 채점, 방대한 양의 문제들, 2. 회원가입 및 기본 설정1) 회원가입백준 온라인 저지 공식 사이트에 접속하여 '회원가입' 버튼을 클릭한다.아이디, 비밀번호, 이메일을 입력하여 계정을 생성한다.이메일 인증을 완료하면 모든 기능을 이용할 수 있다.2) 환경 설정(기본 설정)로그인 후 설정에서 먼저 다음을 세팅한다.프로그래밍 언어: 코드 작성시 언어 선택에서 볼 언어를 드래그 앤 드롭으로 설정하고, 우선순위를 결정할 수 있다. 스크롤해.. 2024. 11. 26.
구글 설문지를 자동생성 도전 Python을 이용해 Google Forms API를 사용하고, CSV 파일을 읽어 설문지를 자동으로 생성하는 전체 과정우선 이 작업에는 몇 가지 준비 단계가 필요하고, 이후 Python 스크립트를 통해 자동화하는 부분으로 나아가게 됨.1. Google Cloud Project 설정 및 API 사용 설정Google Cloud Console에 로그인:Google Cloud Console에서 새 프로젝트를 생성.Google Forms API 사용 설정:생성한 프로젝트에서 API & Services > Library로 이동.검색창에 "Google Forms API"를 입력하고 해당 API를 활성화.서비스 계정 생성 및 인증서 발급:API & Services > Credentials로 이동한 후, Create .. 2024. 11. 23.
이진 탐색 트리 이해하기 쉽게 이진 탐색 트리와 관련된 다양한 개념들을 머메이드(Mermaid)로 표현한 다이어그램과 함께 설명하는 글을 준비했습니다. 각 개념을 시각적으로 설명하여 이해를 돕기 위해 필요한 다이어그램들을 적절히 포함하였습니다. 1. 트리의 개념 이해 먼저, 트리의 기본 구조와 구성 요소를 이해하는 것이 중요합니다. 트리는 계층 구조로 데이터가 연결되는 방식입니다. 트리의 구성 요소 아래 다이어그램은 트리의 각 용어를 이해하는 데 도움이 됩니다. graph TD; A[루트 노드] --> B[자식 노드 1] A --> C[자식 노드 2] B --> D[잎 노드 1] B --> E[잎 노드 2] C --> F[잎 노드 3] .. 2024. 11. 21.
Python 기본 함수들+표준 라이브러리 아래는 코딩 테스트에서 자주 사용되는 Python 기본 함수와 표준 라이브러리들을 정리한 것이다. 각 기능이 어떤 알고리즘 문제에 유용하게 사용될 수 있는지도 설명함.Python 기본 함수들abs(x): 절대값을 구할 때 사용.용례: abs(-5) → 5알고리즘과의 연결: 거리 계산(예: 두 점 사이의 거리 계산)이나, 최적화 문제에서 음수를 제거할 때 유용함.all(iterable): 모든 요소가 참인지 검사.용례: all([True, True, False]) → False알고리즘과의 연결: 배열이 특정 조건을 모두 만족하는지 검사해야 할 때, 예를 들어 모두 양수인지 확인하는 경우에 사용됨.any(iterable): 하나라도 참이면 참을 반환.용례: any([False, False, True]) → .. 2024. 11. 17.
백준9549🐨암호화된 비밀번호 검증 암호화된 비밀번호한국어시간 제한메모리 제한제출정답맞힌 사람정답 비율2 초128 MB65020415731.653%문제새로운 암호화 알고리즘이 개발되었다.우선, 모든 비밀번호는 항상 알파벳 소문자로만 이루어진다고 가정하자.암호화 알고리즘은 다음과 같이 진행된다.1. 비밀번호의 서로 다른 두 글자를 교환한다. 이 과정은 0번 또는 원하는 만큼 얼마든지 할 수 있다.2. 1번 과정의 결과물 앞부분에 0개 혹은 그 이상의 문자를 삽입한다.3. 2번 과정의 결과물 뒷부분에 0개 혹은 그 이상의 문자를 삽입한다.3번 과정의 결과물이 암호화된 비밀번호이다.청호는 사용하던 비밀번호들을 위 알고리즘대로 다 암호화했다.하지만 수작업이었던 탓에 실수가 있을 지도 모르기 때문에 프로그램을 작성하여 제대로 암호화했는지 확인해보려.. 2024. 11. 17.
이분 그래프와 관련 알고리즘 이분 그래프는 노드를 두 그룹으로 나눌 수 있으며, 같은 그룹 내의 노드끼리는 간선이 연결되지 않는 그래프다.        이분 그래프와 알고리즘이분 그래프는 정점 집합을 두 개의 그룹(U, V)으로 나눌 수 있으며, 모든 간선이 서로 다른 그룹에 속한 정점들 사이에만 존재하는 그래프이다. 이분 그래프의 성질과 관련 알고리즘은 그래프 이론과 네트워크 문제에서 중요한 도구로 사용된다.이분 그래프의 정의와 특징두 정점 집합(U, V) 사이에만 간선이 존재하며, 같은 집합 내에는 간선이 없다.모든 사이클은 짝수 길이를 가진다.이분 그래프는 2-색칠 가능하다. 즉, 두 가지 색으로 모든 정점을 색칠할 때, 서로 연결된 정점이 다른 색을 가지도록 할 수 있다.이분 그래프 관련 알고리즘1. 이분 그래프 판별 알고리.. 2024. 11. 17.
Python 표준 라이브러리: 꼭 알아야 할 핵심 모듈 1. Python 내장 함수Python은 다양한 작업을 쉽게 수행할 수 있도록 많은 내장 함수를 제공합니다. 대표적인 예로 print(), len(), sorted()와 같은 함수들이 있습니다. 이 함수들은 기본적인 작업을 편리하게 수행할 수 있게 해줍니다.더보기Python 내장 함수 주요 예시Python 내장 함수는 별도의 모듈 임포트 없이도 사용 가능한 도구들입니다. 다음은 자주 사용되는 몇 가지 함수와 그 활용 예시입니다.print()출력을 위한 함수로, 콘솔에 값을 출력합니다.print("Hello, Python!") # Hello, Python!len()데이터의 길이나 크기를 반환합니다.data = [1, 2, 3, 4]print(len(data)) # 4sorted()리스트나 반복 가능한 .. 2024. 11. 17.
백준2206🐨벽 부수고 이동하기 벽 부수고 이동하기 알고리즘 & 메모리 시각화 Reset Step Play/Pause Status: Ready Memory State: 2024. 11. 16.
백준6359🐨만취한 상범-파이썬 문제요약- n개의 방, n 라운드- 배수들의 중첩? 약수의 개수?- 에라스토테네스 체?상황 재현(문이 열린 것은 1)약수의 개수가 짝수면 열었다가 닫게 된다.못닫으려면 약수가 홀수 개. = 완전제곱수n까지의 완전제곱수의 개수찾기!=최대 완전제곱수의 루트.n,*r=map(int,open(0).read().split())print('\n'.join(f"{int(x**.5)}" for x in r))Rmx. 2024. 11. 16.
백준10809🐨알파벳 찾기 알파벳 찾기시간 제한메모리 제한제출정답맞힌 사람정답 비율1 초256 MB24510413175810837853.396%문제알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오.입력첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다.출력각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다.만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다.예제 입력.. 2024. 11. 15.
두 배낭 문제 두 개의 배낭 문제시간 제한메모리 제한제출정답맞힌 사람정답 비율1초1024 MB202948948955.280%문제승형이와 원빈이는 배낭여행을 가기 위해 두 개의 배낭을 준비했다. 각 배낭에는 \(N\)개의 물건이 들어있으며:• 첫 번째 배낭에는 \(A_1, A_2, \dots, A_N\)의 무게를 가진 물건들이 아래에서 위로 순서대로 쌓여 있다. \(A_N\)이 맨 위에 있는 물건의 무게이다.• 두 번째 배낭에는 \(B_1, B_2, \dots, B_N\)의 무게를 가진 물건들이 아래에서 위로 순서대로 쌓여 있다. \(B_N\)이 맨 위에 있는 물건의 무게이다.배낭의 무게는 배낭 안에 남아있는 물건들의 무게의 합으로 정의된다. 원빈이는 최대 \(K\)번 두 배낭 중 하나를 선택하여 맨 위에 있는 물건을 .. 2024. 11. 15.
트리 구조 시각화 이진 트리의 종류와 특징 1. 기본 이진 트리 (Basic Binary Tree) 각 노드가 최대 2개의 자식을 가질 수 있는 가장 기본적인 트리 구조 자식이 없거나 1개만 있어도 됨 (불규칙한 형태 가능) 레벨별로 노드 수의 제한이 없음 .. 2024. 11. 14.
세그먼트-트리와-lazy-propagation을-이용한-구간-합-구하기 세그먼트 트리와 Lazy Propagation을 이용한 구간 합 구하기1. 문제 상황과 해결 전략문제의 핵심 요구사항긴 수열에서 구간 합을 구해야 함특정 구간의 모든 수를 갱신하는 연산이 빈번함두 연산이 번갈아가며 실행됨왜 일반적인 방법으로는 해결이 어려운가?배열을 직접 수정하는 경우: 구간 업데이트에 O(N)일반 세그먼트 트리: 구간 업데이트에 여전히 O(N)누적 합 배열: 한 값이 변경되면 모든 누적 합을 다시 계산해야 함해결 전략: Lazy Propagation이 적용된 세그먼트 트리구간 업데이트를 지연시켜 실제 필요할 때만 수행각 연산의 시간 복잡도를 O(logN)으로 최적화2. 알고리즘 상세 설명세그먼트 트리 기본 구조노드가 담당하는 정보구간 [start, end]의 합lazy 값 (지연된 업데.. 2024. 11. 14.
백준16928🐨뱀과 사다리 게임 https://www.acmicpc.net/problem/16928문제 분석뱀과 사다리 게임은 각 칸이 1부터 100까지 번호가 매겨진 보드에서 진행되며, 주사위를 굴려 나온 숫자만큼 이동한다. 도중에 사다리를 만나면 사다리를 타고 올라가고, 뱀을 만나면 뱀을 타고 내려간다. 목표는 최소한의 주사위 굴림 횟수로 100번 칸에 도착하는 것이다.BFS를 사용하는 이유는 BFS가 최단 경로 문제를 푸는 데 적합하기 때문이다. BFS는 그래프의 각 정점을 같은 깊이 순으로 탐색하며, 주사위를 굴리는 과정에서 각 칸을 노드로 보고 그래프 탐색을 진행할 수 있다.BFS 개념 설명너비 우선 탐색(BFS)은 시작 정점에서부터 인접한 모든 정점을 탐색한 후, 그 다음 깊이의 정점들을 탐색하는 방식이다. 일반적으로 큐(Q.. 2024. 11. 14.
기록 2024. 11. 14.
기록하기 2024. 11. 11.
백준27627🐨문자열을 두 개의 팰린드롬으로 분할하기 https://www.acmicpc.net/problem/27627문자열을 두 개의 팰린드롬으로 분할하기📌 문제 설명주어진 문자열을 두 개의 팰린드롬으로 분할할 수 있는지 확인하고, 가능하다면 그 분할 지점을 찾는 문제입니다. 예를 들어, "abaaba"라는 문자열이 주어졌다면 "aba aba"로 분할할 수 있습니다.def s(): s=open(0).read().strip() n=len(s) for i in range(1,n): a,b=s[:i],s[i:] if a==a[::-1]and b==b[::-1]:print(a,b);return print('NO')s()def s(): import os r=os.read(0,os.fstat(0).st_s.. 2024. 11. 9.
백준15429🐨Odd Gnome(next 함수 활용법-조건에 맞는 첫번째 값) 이상한 노움 https://www.acmicpc.net/problem/15429시간 제한메모리 제한2 초512 MB문제마법과 마술의 전설에 따르면, 노움들은 '노움 구멍'이라고 알려진 지하 굴에서 살고 있습니다. 그들은 거기서 식물의 뿌리를 파서 먹으며, 정원 주변에 작은 흙더미를 만들어 상당한 피해를 끼칩니다.Mrs. W는 이 피해에 매우 짜증이 나서, 정기적으로 노움들을 울타리 너머로 던져서 정원에서 쫓아내야 합니다. 수가 너무 많아서 하나씩 던지는 것은 많은 노동이 필요합니다. 다행히도, 이 종족은 왕에게 매우 충실해서 각 그룹은 항상 왕을 따라갑니다. 다시 말해, 만약 그녀가 왕만 울타리 너머로 던진다면, 그 그룹의 다른 모든 노움들은 스스로 떠날 것입니다.그렇다면 Mrs. W는 어떻게 노움 그룹.. 2024. 11. 8.