분류 전체보기 44

[백준] 2292 (벌집)

문제 요약육각형으로 이루어진 벌집에서, 중앙의 1번 방부터 시작해 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 매깁니다.방 번호 N이 주어졌을 때, 1번 방에서 N번 방까지 최소 개수의 방을 지나갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산해야 합니다.정수 N은 10억까지 가능합니다.해설1번 방을 중심으로 하는 '육각형 층'의 개념을 생각해 보면, 1번 방만으로 구성된 층이 1층이라고 했을 때, N번 방이 k층에 속해 있다면 문제의 정답은 k가 됩니다.k층의 가장 큰 방 번호를 계산해 볼 수 있습니다. 1층은 1, 2층은 1 + 6 = 7, 3층은 1 + 6 + 12 = 19. 이렇게 계차수열 형태임을 짐작할 수 있고 실제로 k층에 대해서는:$1+6\times 1+6\times 2+\c..

[백준] 10250 (ACM 호텔)

문제 요약호텔에서 손님이 오는 순서대로 방을 배정하는데, 각 층별로 1호실 앞에 있는 엘리베이터 문으로부터 걷는 거리가 짧은 방을 먼저 배정합니다. 단, 거리가 같은 경우에는 층수가 낮은 방을 먼저 배정합니다. 즉 12층짜리 호텔이라면 101, 201, …, 1201호를 먼저 온 12명에게 다 배정하고 13번째 손님에게 102호를 배정하게 됩니다.호텔의 층수 H, 호수 W가 주어졌을 때 N번째 손님에게 배정되어야 하는 방 번호를 구해야 합니다.해설N번째 손님에게 배정되는 방의 층수와 호수를 독립적으로 계산할 수 있습니다.문제의 조건에 따라 i층 j호실은 (j - 1) * H + i번째 손님에게 배정되고, i는 항상 H보다 작거나 같은 정수이므로, N - 1 = (j - 1) * H + (i - 1)에서 ..

4주간의 SVP 수료!

삼성SDS에 입사하고, SVP라고 불리는 신입사원 입문교육을 4주간 받았습니다. 주중 간 합숙으로 진행되었고 설 연휴 주간에는 쉬어갔습니다.13명이 팀이 되어 함께 다양한 활동을 진행했습니다. 하루도 허투루 쓰지 않고 각자의 열정을 불태울 수 있도록 프로그램이 구성되어, 굉장히 뜻깊은 시간을 보낼 수 있었습니다.피드백마지막쯤에 동료끼리 상호 피드백을 하는 시간이 있어, 각자의 특성에 대한 이해를 높일 수 있었습니다.아래는 12명의 동료가 저의 강점에 대해 서술형으로 적은 내용을 AI가 요약 정리한 것입니다.🔍 주요 강점 분석1. 긍정적 에너지 & 원활한 팀 분위기 형성웃음/유머 감각 : "크게 웃긴다", "웃는 얼굴로 소통" 등 활력 제공낙천성 : "긍정적 마인드", "문제해결 시 긍정적 태도"로 팀 ..

Diary 2025.02.16

2024 개발 관련 Recap

어느새 2025년 1월이 되었습니다. 지나간 2024년은 저에게 많은 변화가 있었던 해였기 때문에, 회고를 적어보기로 했습니다.대학교 졸업8월을 끝으로 오랜 기간 학부생활을 해 온 대학교를 졸업했습니다.학교에 입학해서 몇 년은 전공과 흥미 간의 괴리에서 빠져나오지 못하고 어려운 기간을 보낸 적이 있지만, 회복을 위해 선택한 휴학의 기간 동안에 소프트웨어 개발이라는 진로를 찾아서 전기정보공학 전공으로 무사히 졸업하게 되었습니다.졸업을 위한 준비는 2023년에 마치고 2024년에는 한 과목(운영체제의 기초)만 수강하며 취업 준비를 병행했는데, 마지막 학기 동안 미처 마무리하지 못한 개발 동아리 활동도 하고 여러 좋은 성과들을 거둬서 졸업을 미룬 보람이 있었습니다.해커톤 수상마지막 학기 중이던 3월에는 SKY..

Diary 2025.01.05

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

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

UCPC 2022 예선 후기

캐티님, 빙하님과 [투어리스트의 올바른 가르침.] 팀으로 UCPC 2022에 참가했습니다. 팀원들은 PS 경험이 꽤(사실, solved.ac Diamond 티어를 달성했을 정도로 상당히) 있는 분들로서 이전에 포켓몬 배틀 씬에서 만난 분들입니다. 팀이 결성되었던 4월 초 당시 저의 티어가 Silver III이었던 걸로 기억하는데, 막 PS를 시작하는 단계였던 저를 믿어준 팀원들에게 무한한 감사를 전합니다. 시간을 맞춰 대회 셋을 푸는 팀 연습은 5월부터 6번 정도 한 것 같습니다. 저희 팀은 팀원 간의 실력차가 큰 편이기 때문에 제가 스코어보드를 따라가며 많이 풀린 문제를 맡고, 나머지 두 분이 적게 풀린 문제를 맡는 식으로 연습했습니다. (Codeforces Gym에서 연습하면 스코어보드를 실시간으로 ..

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

목차 1. 오늘의 알고리즘 진도 - 2740번: 행렬 곱셈 - 10830번: 행렬 제곱 - 11444번: 피보나치 수 6 - 1655번: 가운데를 말해요 - 16500번: 문자열 판별 - 11066번: 파일 합치기 - 11049번: 행렬 곱셈 순서 오늘의 알고리즘 진도 오늘은 '단계별로 풀어보기'에 포함된 분할 정복 3문제와 우선순위 큐 1문제를 풀고 나서, 조금 어려운 다이나믹 프로그래밍 문제들에 도전해 보기로 했습니다. C++ 템플릿 코드 #include using namespace std; typedef long long ll; typedef long double ld; typedef pair pii; typedef tuple tiii; #define F first #define S second #..

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

목차 1. 오늘의 알고리즘 진도 - 1958번: LCS 3 - 13711번: LCS 4 - 13305번: 주유소 - 18258번: 큐 2 - 6064번: 카잉 달력 - 14500번: 테트로미노 - 11401번: 이항 계수 3 2. AtCoder Beginner Contest 256 - A번: 2^N - B번: Batters - C번: Filling 3x3 array - D번: Union of Interval 3. Codeforces Round #801 (Div. 2) - A번: Subrectangle Guess - B번: Circle Game - C번: Zero Path 오늘의 알고리즘 진도 오늘은 다양한 분류의 문제를 풀어보기로 했습니다. C++ 코드 템플릿 혹시 제 코드를 참고하실 분들은 코드 최상단..

UCPC 2022 예선 D-16, D-15 문제풀이 일지

목차 1. 오늘의 알고리즘 진도 - 24416번: 알고리즘 수업 - 피보나치 수 1 - 9184번: 신나는 함수 실행 - 1912번: 연속합 - 1932번: 정수 삼각형 - 14002번: 가장 긴 증가하는 부분 수열 4 - 11054번: 가장 긴 바이토닉 부분 수열 - 12105번: 가장 긴 증가하는 부분 수열 2 - 14003번: 가장 긴 증가하는 부분 수열 5 - 2565번: 전깃줄 - 2568번: 전깃줄 - 2 - 9251번: LCS - 9252번: LCS 2 - 12865번: 평범한 배낭 - 9084번: 동전 오늘의 알고리즘 진도 오늘은 다이나믹 프로그래밍 수련의 날로 정했습니다. 그래서 다이나믹 프로그래밍 문제를 14개 풉니다. C++ 코드 템플릿 혹시 제 코드를 참고하실 분들은 코드 최상단에 ..

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번: 스도..