본문 바로가기

분류 전체보기275

순열 사이클 분할:백준 25577, 7805, 10451 1. 기본 개념순열 $(a_1, a_2, \dots, a_n)$이 주어졌을 때, 이를 함수 $f(i)$로 표현할 수 있다. 여기서 $f(i)$는 $i$번째 원소를 다른 원소의 위치로 매핑하는 함수이다.예를 들어, 순열 $(2, 3, 1)$이 있다면:$f(1) = 2$: 첫 번째 위치의 원소는 두 번째 위치로 간다.$f(2) = 3$: 두 번째 위치의 원소는 세 번째 위치로 간다.$f(3) = 1$: 세 번째 위치의 원소는 첫 번째 위치로 간다.2. 함수의 반복적 적용$f^2(i) = f(f(i))$: 함수 $f$를 두 번 적용한 결과이다.$f^k(i)$: $f$를 $k$번 반복 적용한 결과이다.만약 $i = f^k(i)$가 되는 최소 $k$를 찾으면, 이는 $i$가 순환하는 주기이다.3. 순열 사이클$i.. 2025. 1. 9.
백준12933🐨오리-파이썬 오리시간 제한메모리 제한제출정답맞힌 사람정답 비율2 초512 MB63812140162433.826%문제오리의 울음 소리는 "quack"이다. 올바른 오리의 울음 소리는 울음 소리를 한 번 또는 그 이상 연속해서 내는 것이다. 예를 들어, "quack", "quackquackquackquack", "quackquack"는 올바른 오리의 울음 소리이다.영선이의 방에는 오리가 있는데, 문제를 너무 열심히 풀다가 몇 마리의 오리가 있는지 까먹었다.갑자기 영선이의 방에 있는 오리가 울기 시작했고, 이 울음소리는 섞이기 시작했다. 영선이는 일단 울음소리를 녹음했고, 나중에 들어보면서 총 몇 마리의 오리가 있는지 구해보려고 한다.녹음한 소리는 문자열로 나타낼 수 있는데, 한 문자는 한 오리가 낸 소리이다. 오리의 울.. 2025. 1. 4.
백준9465🐨스티커🚀동적프로그래밍 문제상근이의 여동생 상냥이는 문방구에서 스티커 2n개를 구매했다. 스티커는 그림 (a)와 같이 2행 n열로 배치되어 있다. 상냥이는 스티커를 이용해 책상을 꾸미려고 한다.상냥이가 구매한 스티커의 품질은 매우 좋지 않다. 스티커 한 장을 떼면, 그 스티커와 변을 공유하는 스티커는 모두 찢어져서 사용할 수 없게 된다. 즉, 뗀 스티커의 왼쪽, 오른쪽, 위, 아래에 있는 스티커는 사용할 수 없게 된다.모든 스티커를 붙일 수 없게된 상냥이는 각 스티커에 점수를 매기고, 점수의 합이 최대가 되게 스티커를 떼어내려고 한다. 먼저, 그림 (b)와 같이 각 스티커에 점수를 매겼다. 상냥이가 뗄 수 있는 스티커의 점수의 최댓값을 구하는 프로그램을 작성하시오. 즉, 2n개의 스티커 중에서 점수의 합이 최대가 되면서 서로 .. 2024. 12. 25.
업사이클링 DIY http://milkyproject.com/ 밀키 미니소품상자 우유팩 업사이클링 키트업사이클링을 직접 체험해 볼 수 있는 올인원 D.I.Y. 체험키트. 악세사리, 동전, 열쇠 등, 잃어버리기 쉬운 작은물건들을 보관할 수 있는 미니소품 상자. _’진짜’ 우유팩을 활용한 업사이클링 체101box.co.kr  밀키 미니소품상자 우유팩 업사이클링 키트업사이클링을 직접 체험해 볼 수 있는 올인원 D.I.Y. 체험키트. 악세사리, 동전, 열쇠 등, 잃어버리기 쉬운 작은물건들을 보관할 수 있는 미니소품 상자. _’진짜’ 우유팩을 활용한 업사이클링 체101box.co.krhttps://101box.co.kr/product/detail.html?product_no=5856&cate_no=291&display_group=.. 2024. 12. 20.
엔트리 수치 예측 2024. 12. 13.
solved.ac https://help.solved.ac/ solved.ac HelpHelp documentation for solved.achelp.solved.ac 효율적인 문제 풀이와 학습을 위한 도구: solved.ac 소개코딩 테스트와 알고리즘 공부를 할 때 많은 개발자와 학생들이 사용하는 사이트가 백준 온라인 저지(Baekjoon Online Judge)이다. 하지만 난이도가 표시되지 않아서 수많은 문제 중에서 자신에게 맞는 문제를 찾는 것은 쉽지 않다. 이를 도와주는 도구가 바로 solved.ac이다. 오늘은 solved.ac의 주요 기능들을 통해 백준 문제 풀이를 효과적으로 도와주는 방법을 소개한다.이 사이트는 백준 온라인 저지를 위해 동기를 만들어 준다고 볼 수 있는데난이도 책정 및 표시,고급 검색,랭킹.. 2024. 11. 28.
온라인 저지 문제풀이용 IDE TIO지금 메인으로 쓰는 IDE이다.장점- 테스트 데이터를 매번 입력할 필요 없이 고정해놓고 테스트 할 수 있다.- 수없이 많은 종류의 언어를 사용할 수 있다.- 웹 브라우저에서 아무 것도 설치하지 않고 쓸 수 있다.- 속도를  측정해준다.단점- 자동 탭이나 자동 서식, 괄호 자동완성이나 괄호 짝 표시 등이 아무 것도 안 된다.(심지어 탭 키는 기본 8자)- 블록지정 후 블록 탭 조절도 안 된다.- 따로 복사해서 저장하지 않으면 작성내용이 날아간다.- 변수명 일괄 수정이 안 된다.-예약어 등의 색상 하이라이팅이나 괄호매칭 표시, 실시간 오류검출 등이 없다.사용 방법- 680개의 언어 중 내가 사용할 언어를 선택한다.언어를 선택한 후 나온 주소를 즐겨찾기에 등록해놓고 쓰면 된다.(파이썬만 해도 종류가 많다.. 2024. 11. 27.
백준 온라인 저지(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.