전체 글
[13164] 행복 유치원(C++)
문제 행복 유치원 원장인 태양이는 어느 날 N명의 원생들을 키 순서대로 일렬로 줄 세우고, 총 K개의 조로 나누려고 한다. 각 조에는 원생이 적어도 한 명 있어야 하며, 같은 조에 속한 원생들은 서로 인접해 있어야 한다. 조별로 인원수가 같을 필요는 없다. 이렇게 나뉘어진 조들은 각자 단체 티셔츠를 맞추려고 한다. 조마다 티셔츠를 맞추는 비용은 조에서 가장 키가 큰 원생과 가장 키가 작은 원생의 키 차이만큼 든다. 최대한 비용을 아끼고 싶어 하는 태양이는 K개의 조에 대해 티셔츠 만드는 비용의 합을 최소로 하고 싶어한다. 태양이를 도와 최소의 비용을 구하자. 입력 입력의 첫 줄에는 유치원에 있는 원생의 수를 나타내는 자연수 N(1 ≤ N ≤ 300,000)과 나누려고 하는 조의 개수를 나타내는 자연수 K..
[1753] 최단경로(C++)
문제 [1753] 최단경로 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다. 입력 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 주어진다. 셋째 줄부터 E개의 줄에 걸쳐 각 간선을 나타내는 세 개의 정수 (u, v, w)가 순서대로 주어진다. 이는 u에서 v로 가는 가중치 w인 간선이 존재한다는 뜻이다. u와 v는 서로 다르며 w는 10 이하의 자연수이다. 서로 다른 두 정점 사이에 여러 개의 간선이 존재할 수도 있..
[삼성 SDS] 2022 프로 시험 후기(알고리즘 특강 수료테스트)
2주간의 알고리즘 특강이 끝나면 프로 시험을 볼 수 있는 기회가 주어진다. 교육 종료 바로 다음날(토요일) 응시해야 하는데 이때 일정이 안되면 다른 날 볼 수 있게 조정해주시는 것 같다. 재응시 기회도 주신다. 그렇지만 한 번에 붙을 수 있게 준비하는 게 좋은 것 같다. 프로 등급(Professional) 혜택 🎖 서류 면제 🎖 코테 면제 🎖 직무 면접 면제 🎖 일회성 쿠폰 느낌 아니고 최대 2년(?)까지 계속 사용 가능 즉, 직무와 관련된 모든 프로세스가 면제되고 임원 면접 하나만 보면 바로 입사의 문턱까지 갈 수 있다. 삼성 SDS 입사를 원한다면 대학생때 미리미리 이 특강을 통해 프로를 따놓으면 좋을 것 같다. 시험 안내 응시일이 다가오면 QR코드 링크가 카톡으로 온다. 건물 출입시 게이트에 이 코..
[삼성 SDS] 2022 하계 대학생 알고리즘 특강 후기
7/4(월) ~ 7/15(금)까지 2주간 삼성 SDS 알고리즘 특강이 진행됐다. 오전 9시부터 오후 6시까지 녹스라는 플랫폼을 사용해서 실시간 강의 형태로 진행되고 수업은 거의 항상 이 시간을 풀로 채워서 진행됐다. 12시 ~ 1시까지 딱 한 시간 정도 점심시간이 있는데 중간중간 쉬는 시간도 계속 있고 문제 푸는 시간도 기본 30분씩 갖기 때문에 쉬려면 나름 많이 쉴 수 있다. 초반엔 안 풀리는 문제를 붙잡고 있거나 다음 문제를 미리 푸는데 쉬는 시간을 거의 다 썼었는데 그러다 보니 막상 강사님이 설명하실 때 졸음이 쏟아져서 몇 번 졸기도 했다ㅎㅎ.. 쉴 땐 제대로 쉬는 걸로.. 강의 방식은 거의 1. 강사님의 이론 설명 2. 이와 관련된 백준 문제 각자 푸는 시간 갖기(난이도에 따라 20분 ~ 1시간)..
[13335] 트럭(C++)
문제바로가기강을 가로지르는 하나의 차선으로 된 다리가 하나 있다. 이 다리를 n 개의 트럭이 건너가려고 한다.트럭의 순서는 바꿀 수 없으며, 트럭의 무게는 서로 같지 않을 수 있다. 다리 위에는 단지 w 대의 트럭만 동시에 올라갈 수 있다.다리의 길이는 w 단위길이(unit distance)이며, 각 트럭들은 하나의 단위시간(unit time)에 하나의 단위길이만큼만 이동할 수 있다고 가정한다.동시에 다리 위에 올라가 있는 트럭들의 무게의 합은 다리의 최대하중인 L보다 작거나 같아야 한다.참고로, 다리 위에 완전히 올라가지 못한 트럭의 무게는 다리 위의 트럭들의 무게의 합을 계산할 때 포함하지 않는다고 가정한다.예를 들어, 다리의 길이 w는 2, 다리의 최대하중 L은 10, 다리를 건너려는 트럭이 트럭의..
[1713] 후보 추천하기(C++)
문제 바로가기 월드초등학교 학생회장 후보는 일정 기간 동안 전체 학생의 추천에 의하여 정해진 수만큼 선정된다. 그래서 학교 홈페이지에 추천받은 학생의 사진을 게시할 수 있는 사진틀을 후보의 수만큼 만들었다. 추천받은 학생의 사진을 사진틀에 게시하고 추천받은 횟수를 표시하는 규칙은 다음과 같다. ✔️ 학생들이 추천을 시작하기 전에 모든 사진틀은 비어있다. ✔️ 어떤 학생이 특정 학생을 추천하면, 추천받은 학생의 사진이 반드시 사진틀에 게시되어야 한다. ✔️ 비어있는 사진틀이 없는 경우에는 현재까지 추천 받은 횟수가 가장 적은 학생의 사진을 삭제하고, 그 자리에 새롭게 추천받은 학생의 사진을 게시한다. ✔️ 이때, 현재까지 추천 받은 횟수가 가장 적은 학생이 두 명 이상일 경우에는 그러한 학생들 중 게시된 ..
[1244] 스위치 켜고 끄기(C++)
문제 바로가기 1부터 연속적으로 번호가 붙어있는 스위치들이 있다. 스위치는 켜져 있거나 꺼져있는 상태이다. 에 스위치 8개의 상태가 표시되어 있다. ‘1’은 스위치가 켜져 있음을, ‘0’은 꺼져 있음을 나타낸다. 그리고 학생 몇 명을 뽑아서, 학생들에게 1 이상이고 스위치 개수 이하인 자연수를 하나씩 나누어주었다. 학생들은 자신의 성별과 받은 수에 따라 아래와 같은 방식으로 스위치를 조작하게 된다. 남학생은 스위치 번호가 자기가 받은 수의 배수이면, 그 스위치의 상태를 바꾼다. 즉, 스위치가 켜져 있으면 끄고, 꺼져 있으면 켠다. 과 같은 상태에서 남학생이 3을 받았다면, 이 학생은 와 같이 3번, 6번 스위치의 상태를 바꾼다. 여학생은 자기가 받은 수와 같은 번호가 붙은 스위치를 중심으로 좌우가 대칭이..
[프로그래머스] 전화번호 목록(C++)
문제 바로가기 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요. 제한 사항 phone_book의 길이는 1 이상 1,000,000 이하입니다. 각 전화번호의 길이는 1 이상 20 이하입니다. 같은 전화번호가 중복해서 들어있지 않습니다. 입출력 예 해..