Ryuna의 티스토리 블로그

소프트웨어 개발, 그 너머로

Python 3

BOJ 31963번: 두 배, 10885번: 수열의 장인 문제로 알아보는 "그리디 알고리즘에 수학 섞은 유형"

티스토리에는 굉장히 오랜만에 글을 적습니다. 오늘은 BOJ에 수록된 '두 배'와 '수열의 장인'이라는 두 문제를 살펴보며 그리디 알고리즘에 수학을 살짝 얹은 유형을 공략해 보겠습니다.문제: 두 배https://www.acmicpc.net/problem/31963KOI 2024 1차대회 초등부, 중등부 기출문제인 '두 배'는 주어진 수열 A를 오름차순으로 만들기 위해 '특정 원소의 값을 2배로 하는 연산'을 여러 번 적용할 수 있을 때 최소 적용 횟수를 구하는 문제입니다.시뮬레이션이 가능할까?처음에 많이들 해 보는 생각이겠지만, [100, 99, 197, 393, ...]과 같은 수열을 생각해보면 시뮬레이션을 진행했을 때 수가 기하급수적으로 빠르게 커질 수 있음을 파악할 수 있습니다.실제로 위 수열을 2배..

UCPC 2022 예선 D-20~D-17 문제풀이 일지

6월 12, 13, 14일을 설렁설렁 보내다가 15일이 되어 정신이 든 나... 늦었다고 생각할 때가 가장 빠른 때라고 하니 달려보겠습니다. 목차 1. 알고리즘 진도 - 2750번: 수 정렬하기 - 10815번: 숫자 카드 - 14425번: 문자열 집합 - 1269번: 대칭 차집합 - 11478번: 서로 다른 부분 문자열의 개수 - 3009번: 네 번째 점 - 2477번: 참외밭 - 3053번: 택시 기하학 - 1002번: 터렛 - 1004번: 어린 왕자 - 1358번: 하키 - 5086번: 배수와 약수 - 1037번: 약수 - 1934번: 최소공배수 - 2981번: 검문 - 3036번: 링 - 1010번: 다리 놓기 - 2004번: 조합 0의 개수 - 15651번: N과 M (3) - 2580번: 스도..

UCPC 2022 예선 D-21 문제풀이 일지

블로그 업데이트는 오랜만입니다. 지난 두 달 동안은 공부한 내용을 굳이 공개된 곳에 전부 깔끔히 정리해 포스팅할 필요는 없지 않을까~라는 생각에 개인 GoodNotes 계정에만 정리해두고 있었습니다. 굿노트가 워낙 효율이 좋아서인지 기존보다 훨씬 많은 공부량을 뽑아낼 수 있었지만, 최근 며칠 동안은 공부할 의욕이 잘 나지 않아 고민하던 차에 업데이트가 뜸하던 블로그가 생각났습니다. UCPC 2022에 출전하게 됨에 따라 예선(그리고 잘 되면 본선까지..)을 대비해 매일 일정 수의 문제를 풀어보려고 하는데, 푼 문제를 블로그에 일지 형식으로 정리해보면 좋겠다고 판단해서 글을 작성하기 시작했습니다. 목차 1. 오늘의 알고리즘 진도 - 2941번: 크로아티아 알파벳 - 1193번: 분수찾기 - 10757번: ..