[BOJ/Platinum 5] 백준 30975 약간 모자라지만 착한 친구야(C++)
·
BOJ/Platinum ~ Diamond
문제 링크https://www.acmicpc.net/problem/30975  문제진주 나들이를 온 보선이는 경상국립대 정문 쪽 연못 산책길을 걷다가 울고 있는 동기 원우를 발견했다. 반가움보다 안쓰러움이 앞선 보선이는 원우한테 다가가서 울고 있는 이유를 물어봤다. 원우는 울면서 "교수님께서 경상국립대에서 출발해 경상국립대 주변에 있는 모든 동네에 가서 하늘 사진을 찍은 다음, 다시 경상국립대로 돌아오라는 심부름을 시키셨는데 거절을 못했어. 그런데 어떻게 심부름을 끝내야 할지 모르겠어."라고 대답했다. 약간 모자라지만 착한 원우를 위해 보선이가 대신 심부름을 맡기로 했다.경상국립대 주변에 있는 동네는 총 N개이며, 각 동네는 1번부터 차례대로 번호가 부여되어 있다. 또한, 보선이는 편의상 경상국립대가 N..
[BOJ/Platinum 4] 백준 30976 사랑의 큐피드(C++)
·
BOJ/Platinum ~ Diamond
문제 링크https://www.acmicpc.net/problem/30976 문제진주 나들이를 온 보선이는 목이 너무 말라서 경상국립대 앞에 있는 한 카페에 들어갔다. 그 카페에서는 진주교육대 여학생 N명과 연암공과대 남학생 M명이 모여서 미팅을 하고 있었다.이 미팅에는 신기한 사실이 하나 있는데, 바로 미팅 중인 학생들의 상대에 대한 선호 여부는 키라는 요소 한 가지에만 영향을 받는다는 것이다. 구체적으로, 여학생들은 자신의 선호 기준보다 키가 작은 남학생만을 선호한다. 그리고 남학생들은 자신의 선호 기준보다 키가 큰 여학생만을 선호한다.마침 이 카페에는 자칭 사랑의 큐피드 재혁이도 있었다. 이 미팅에 관심이 생긴 재혁이는 미팅 중인 테이블에서 오가는 얘기를 열심히 엿들어 미팅 중인 모든 학생들의 선호..
[BOJ/Gold 5] 백준 1584 게임(C++)
·
BOJ/Gold
문제 링크https://www.acmicpc.net/problem/1584 문제세준이는 위험한 지역에서 탈출하는 게임을 하고 있다. 이 게임에는 세준이가 들어갈 수 없는 죽음의 구역이 있고, 들어가서 한 번 움직일 때 마다 생명이 1씩 소모되는 위험한 구역이 있다. 그리고, 자유롭게 생명의 위협없이 움직일 수 있는 안전한 구역이 있다. (안전한 구역은 죽음의 구역과 위험한 구역을 제외한 나머지 이다.)세준이는 (0, 0)에서 출발해서 (500, 500)으로 가야 한다. 세준이는 위, 아래, 오른쪽, 왼쪽으로만 이동할 수 있다. 현재 세준이는 (0, 0)에 있다. 그리고, 게임 판을 벗어날 수는 없다.세준이가 (0, 0)에서 (500, 500)으로 갈 때 잃는 생명의 최솟값을 구하는 프로그램을 작성하시오...
[BOJ/Gold 5] 백준 20008 몬스터를 처치하자!(C++)
·
BOJ/Gold
문제 링크https://www.acmicpc.net/problem/20008 문제가장 빠른 시간 내에 몬스터를 처치하려고 한다. 사용할 수 있는 스킬은 N개 있으며, 각 스킬은 사용하는 데 1초가 들고, 사용을 시작한 지 1초 후 몬스터에게 일정 대미지를 입힌다. 여러 개의 스킬을 동시에 사용할 수는 없다.각 스킬에는 저마다의 대기 시간과 대미지가 있다. 대기 시간은 스킬을 사용하기 시작한 순간부터 차기 시작한다.예를 들어, 현재 시각이 t = 0이고, 대기 시간이 10초이고 대미지가 10인 스킬을 체력이 100인 몬스터에게 사용했다고 하자. 그러면 t = 1일 때 몬스터의 체력이 90으로 줄어들고, 같은 스킬은 t = 10일 때부터 다시 사용할 수 있다. 입력첫 번째 줄에는 스킬 개수 N(1 ≤ N ≤..
[BOJ/Bronze 5] 백준 32951 AI 선도대학(C++)
·
BOJ/Bronze
문제 링크https://www.acmicpc.net/problem/32951 문제 2024년은 서울사이버대학교가 AI 선도대학 원년으로 설정한 해로, 인공지능을 기반으로 교육 혁신을 추구하고 있다.그로부터 몇 년 후, 어느덧 N년이 되었다. 빅데이터·AI 센터에서 시간 가는 줄 모르고 늙어가던 노교수는 서울사이버대학교가 AI 선도대학 원년으로 설정한 후로부터 몇 년이 지났는지 궁금해졌다. 연도 N이 입력으로 주어질 때, 결과를 출력하자. 입력첫 번째 줄에 궁금한 연도 N이 주어진다. (2024 ≤ N ≤ 9999) 출력첫 번째 줄에 N년이 2024년으로부터 몇 년이나 지났는지 출력한다. 예제 입력 12024예제 출력 10예제 입력 22031예제 출력 27예제 입력 39999예제 출력 37975 알고리즘 ..
[BOJ/Platinum 5] 백준 1219 오민식의 고민(C++)
·
BOJ/Platinum ~ Diamond
문제 링크https://www.acmicpc.net/problem/1219 문제오민식은 세일즈맨이다. 오민식의 회사 사장님은 오민식에게 물건을 최대한 많이 팔아서 최대 이윤을 남기라고 했다.오민식은 고민에 빠졌다.어떻게 하면 최대 이윤을 낼 수 있을까?이 나라에는 N개의 도시가 있다. 도시는 0번부터 N-1번까지 번호 매겨져 있다. 오민식의 여행은 A도시에서 시작해서 B도시에서 끝난다.오민식이 이용할 수 있는 교통수단은 여러 가지가 있다. 오민식은 모든 교통수단의 출발 도시와 도착 도시를 알고 있고, 비용도 알고 있다. 게다가, 오민식은 각각의 도시를 방문할 때마다 벌 수 있는 돈을 알고있다. 이 값은 도시마다 다르며, 액수는 고정되어있다. 또, 도시를 방문할 때마다 그 돈을 벌게 된다.오민식은 도착 도..
[BOJ/Gold 1] 백준 16991 외판원 순회 3(C++)
·
BOJ/Gold
문제 링크https://www.acmicpc.net/problem/16991 문제외판원 순회 문제는 영어로 Traveling Salesman problem (TSP) 라고 불리는 문제로 computer science 분야에서 가장 중요하게 취급되는 문제 중 하나이다. 여러 가지 변종 문제가 있으나, 여기서는 가장 일반적인 형태의 문제를 살펴보자.1번부터 N번까지 번호가 매겨져 있는 도시들이 있고, 모든 도시 사이에는 길이 있다. 이제 한 외판원이 어느 한 도시에서 출발해 N개의 도시를 모두 거쳐 다시 원래의 도시로 돌아오는 순회 여행 경로를 계획하려고 한다. 단, 한 번 갔던 도시로는 다시 갈 수 없다. (맨 마지막에 여행을 출발했던 도시로 돌아오는 것은 예외) 이런 여행 경로는 여러 가지가 있을 수 있..
[BOJ/Gold 1] 백준 2098 외판원 순회(C++)
·
BOJ/Gold
문제 링크https://www.acmicpc.net/problem/2098 문제외판원 순회 문제는 영어로 Traveling Salesman problem (TSP) 라고 불리는 문제로 computer science 분야에서 가장 중요하게 취급되는 문제 중 하나이다. 여러 가지 변종 문제가 있으나, 여기서는 가장 일반적인 형태의 문제를 살펴보자.1번부터 N번까지 번호가 매겨져 있는 도시들이 있고, 도시들 사이에는 길이 있다. (길이 없을 수도 있다) 이제 한 외판원이 어느 한 도시에서 출발해 N개의 도시를 모두 거쳐 다시 원래의 도시로 돌아오는 순회 여행 경로를 계획하려고 한다. 단, 한 번 갔던 도시로는 다시 갈 수 없다. (맨 마지막에 여행을 출발했던 도시로 돌아오는 것은 예외) 이런 여행 경로는 여러..
[SolveSQL/난이도 3] Advent of SQL 2024(MySQL, SQLite)
·
SolveSQL/난이도 3
온라인 쇼핑몰의 월 별 매출액 집계SELECT STRFTIME('%Y-%m', DATE(A.order_date)) AS `order_month`, SUM(CASE WHEN B.order_id NOT LIKE 'C%' THEN B.price * B.quantity ELSE 0 END) AS `ordered_amount`, SUM(CASE WHEN B.order_id LIKE 'C%' THEN B.price * B.quantity ELSE 0 END) AS `canceled_amount`, SUM(B.price * B.quantity) AS `total_amount`FROM orders AJOIN order_items BON A.order_id = B.order_idGROUP BY STRFTIME('%Y-%..
[BOJ/Gold 4] 백준 21939 문제 추천 시스템 Version 1(C++)
·
BOJ/Gold
문제 링크https://www.acmicpc.net/problem/21939 문제tony9402는 최근 깃헙에 코딩테스트 대비 문제를 직접 뽑아서 "문제 번호, 난이도"로 정리해놨다.깃헙을 이용하여 공부하시는 분들을 위해 새로운 기능을 추가해보려고 한다.만들려고 하는 명령어는 총 3가지가 있다. 아래 표는 각 명령어에 대한 설명이다. recommend x x가 1인 경우 추천 문제 리스트에서 가장 어려운 문제의 번호를 출력한다.만약 가장 어려운 문제가 여러 개라면 문제 번호가 큰 것으로 출력한다. x가 -1인 경우 추천 문제 리스트에서 가장 쉬운 문제의 번호를 출력한다.만약 가장 쉬운 문제가 여러 개라면 문제 번호가 작은 것으로 출력한다.add P L추천 문제 리스트에 난이도가 L인 문제 번호 P를 추가..
[BOJ/Gold 4] 백준 5594 最悪の記者(C++)
·
BOJ/Gold
문제 링크https://www.acmicpc.net/problem/5594 문제あなたは JOI 新聞社の記者であり,スポーツ記事を担当している.昨日までに,クロアチアでは,n 個のサッカーチームによる総当りのリーグ戦が 行われた.大会実行委員会は,試合結果と規定に基づき各チームに 1 位から n 位ま での順位をつけたようである.あなたには,一部の試合の勝敗とともに,次の情報 が伝えられた.情報 1 引き分けの試合はなかった.情報 2 全てのチームに異なる順位がついた.情報 3 全ての 1 ≤ a  あなたは記事を作成するために,一部の試合の勝敗と,伝えられた情報 1~3 をも とに,順位表を推測することにした.入力として一部の試合の勝敗が与えられたとき,伝えられた情報に適合する順位 表を 1 つ出力するプログラムを作れ.また,出力した順位表以外に,伝えられた情 報に適合する..
[BOJ/Gold 4] 백준 5021 왕위 계승(C++)
·
BOJ/Gold
문제 링크https://www.acmicpc.net/problem/5021 문제유토피아의 왕이 사망했다. 왕은 자손을 남기지 않고 사망했기 때문에, 왕위를 계승할 사람을 지목하지 않았다. 왕실 귀족은 왕위를 주장하기 시작했다. 유토피아의 법에는 왕의 계승자가 없는 경우에, 나라를 세운 사람과 혈통이 가까운 사람이 유토피아를 통치한다는 조항이 있다.나라를 세운 사람과 혈통이 가장 가까운 사람은 그의 자손이 아닌 사람과 피가 덜 섞인 사람이다. 모든 사람은 아버지의 혈통과 어머니의 혈통을 반 씩 받게 된다. 나라를 세운 사람의 자식은 1/2 왕족이며, 그 아들이 왕족이 아닌 사람과 결혼한 경우에는 아들의 자식은 1/4 왕족이 된다.가장 나라를 세운 사람과 혈통이 가까운 사람을 찾는 프로그램을 작성하시오.  ..
[SolveSQL/난이도 3] 데이터리안 SQL 데이터 분석 캠프 실전반(MySQL, SQLite)
·
SolveSQL/난이도 3
배송 예정일 예측 성공과 실패SELECT DATE(order_purchase_timestamp) AS `purchase_date`, COUNT(DISTINCT(CASE WHEN order_delivered_customer_date order_estimated_delivery_date THEN order_id END)) AS `fail`FROM olist_orders_datasetGROUP BY DATE(order_purchase_timestamp)HAVING CAST(STRFTIME('%Y', DATE(order_purchase_timestamp)) AS INTEGER) = 2017 AND CAST(STRFTIME('%m', DATE(order_purchase_timestamp)) AS INTEGER)..
[SolveSQL/난이도 3] 데이터리안 SQL 데이터 분석 캠프 입문반(MySQL, SQLite)
·
SolveSQL/난이도 3
할부는 몇 개월로 해드릴까요SELECT payment_installments, COUNT(DISTINCT(order_id)) AS `order_count`, MIN(payment_value) AS `min_value`, MAX(payment_value) AS `max_value`, AVG(payment_value) AS `avg_value` FROM olist_order_payments_datasetWHERE payment_type LIKE '%credit_card%'GROUP BY payment_installments 지역별 주문의 특징같은 사람이 여러 번 주문하는 경우가 있어서 WHEN절에서 order_id를 가져오고 DISTINCT로 중복 제거한 후 order_id의 개수를 셈으로써 각 카테고리별 ..
[SolveSQL/난이도 2] Advent of SQL 2024(MySQL, SQLite)
·
SolveSQL/난이도 2
제목이 모음으로 끝나지 않는 영화SELECT title FROM filmWHERE ( rating = 'R' OR rating = 'NC-17' ) AND ( title NOT LIKE '%A' AND title NOT LIKE '%E' AND title NOT LIKE '%I' AND title NOT LIKE '%O' AND title NOT LIKE '%U' ) 언더스코어(_)가 포함되지 않은 데이터 찾기_에는 이스케이프 문자(\)를 추가해줘야 하는데, SQLite는 추가로 ESCAPE '\'를 붙여줘야 한다고 한다.SELECT DISTINCT(page_location) AS `page_location` FROM gaWHERE page_location N..