algorithm 57

[프로그래머스 LV.3 야근 지수]

문제 설명회사원 Demi는 가끔은 야근을 하는데요, 야근을 하면 야근 피로도가 쌓입니다. 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값입니다. Demi는 N시간 동안 야근 피로도를 최소화하도록 일할 겁니다.Demi가 1시간 동안 작업량 1만큼을 처리할 수 있다고 할 때, 퇴근까지 남은 N 시간과 각 일에 대한 작업량 works에 대해 야근 피로도를 최소화한 값을 리턴하는 함수 solution을 완성해주세요.제한 사항works는 길이 1 이상, 20,000 이하인 배열입니다.works의 원소는 50000 이하인 자연수입니다.n은 1,000,000 이하인 자연수입니다.입출력 예works n result[4, 3, 3] 4 12[2, 1, 2] 1 6[1,1] 3 0입출력 예 설명..

algorithm 2025.04.30

[SWEA 19185번 육십갑자]

※ SW expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.육십갑자 체계를 일반화한 다음과 같은 상황을 생각해 보자. N개의 문자열 s1, s2, s3 …, sN 과 M개의 문자열 t1, t2, t3, …, tM 이 있다. 이들은 알파벳 소문자로만 이루어져 있다. 1년은 두 문자열 s1, t1 을 이어붙인 이름을 가지고, 그 다음 해는 각각의 문자열 리스트에서 다음 순서에 해당되는 문자열을 이어붙인 이름을 가진다. 만약 리스트에서 다음 순서가 없다면, 첫 원소로 돌아간다.예를 들어, N = 3, M = 4, s = {“a”, “b”, “c”}, t = {“d”, “e”, “f”, “g”} 라고 하면 매년 아래 표처럼 이름이 붙여진다. 일반적인 육십갑자 체계는 N = 10, M = 12 를 만족..

algorithm 2024.07.05

[SWEA 19113번 식료품 가게]

※ SW expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.식료품 가게의 주인인 철수는 대대적인 할인행사를 계획하고 있습니다. 철수는 25% 할인된 가격으로 상점의 모든 품목을 판매하기로 했습니다. 즉, 각 품목의 판매 가격은 정상 가격의 정확히 75%입니다. 우연하게도 식료품 가게에서 판매하는 모든 물건의 정상가는 4의 배수인 정수이고, 고로 할인된 가격 역시 모두 정수입니다.철수는 먼저 모든 판매 물품의 할인된 판매가격을 프린터로 출력했고, 또한 할인행사 종료 후 다시 쓸 모든 품목에 정상 가격표 역시 출력했습니다.잠깐 자리를 비웠던 철수가 다시 가격표의 출력을 확인하기 위해서 프린터로 돌아와 보니, 공교롭게 프린터는 모든 물품의 할인가격과 정상가격을 한꺼번에 오름차순으로 정렬한 뒤 순서대..

algorithm 2024.07.04

[프로그래머스 LV.2 롤케이크 자르기]

문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 철수는 롤케이크를 두 조각으로 잘라서 동생과 한 조각씩 나눠 먹으려고 합니다. 이 롤케이크에는 여러가지 토핑들이 일렬로 올려져 있습니다. 철수와 동생은 롤케이크를 공평하게 나눠먹으려 하는데, 그들은 롤케이크의 크기보다 롤케이크 위에 올려진 토핑들의 종류에 더 관심이 많습니다. 그래서 잘린 조각들의 크기와 올려진 토핑의 개수에 상관없이 각 조각에 동일한 가짓수의 토핑이 올라가..

algorithm 2024.01.31

[프로그래머스 LV.2 광물 캐기]

문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 마인은 곡괭이로 광산에서 광석을 캐려고 합니다. 마인은 다이아몬드 곡괭이, 철 곡괭이, 돌 곡괭이를 각각 0개에서 5개까지 가지고 있으며, 곡괭이로 광물을 캘 때는 피로도가 소모됩니다. 각 곡괭이로 광물을 캘 때의 피로도는 아래 표와 같습니다. 예를 들어, 철 곡괭이는 다이아몬드를 캘 때 피로도 5가 소모되며, 철과 돌을 캘때는 피로도가 1씩 소모됩니다. 각 곡괭이는 종류에..

algorithm 2024.01.04

[프로그래머스 LV.2 과제 진행하기]

문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 과제를 받은 루는 다음과 같은 순서대로 과제를 하려고 계획을 세웠습니다. 과제는 시작하기로 한 시각이 되면 시작합니다. 새로운 과제를 시작할 시각이 되었을 때, 기존에 진행 중이던 과제가 있다면 진행 중이던 과제를 멈추고 새로운 과제를 시작합니다. 진행중이던 과제를 끝냈을 때, 잠시 멈춘 과제가 있다면, 멈춰둔 과제를 이어서 진행합니다. 만약, 과제를 끝낸 시각에 새로 시..

algorithm 2024.01.03

[프로그래머스 LV.3 네트워크]

문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/43162?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다..

algorithm 2023.12.30

[프로그래머스 LV.3 베스트앨범]

문제 링크:https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 노래의 장르를 나..

algorithm 2023.12.29

[백준 10158번 개미]

문제 링크: https://www.acmicpc.net/problem/10158 10158번: 개미 가로 길이가 w이고 세로 길이가 h인 2차원 격자 공간이 있다. 이 격자는 아래 그림처럼 왼쪽 아래가 (0,0)이고 오른쪽 위가 (w,h)이다. 이 공간 안의 좌표 (p,q)에 개미 한 마리가 놓여있다. 개미는 오 www.acmicpc.net 가로 길이가 w이고 세로 길이가 h인 2차원 격자 공간이 있다. 이 격자는 아래 그림처럼 왼쪽 아래가 (0,0)이고 오른쪽 위가 (w,h)이다. 이 공간 안의 좌표 (p,q)에 개미 한 마리가 놓여있다. 개미는 오른쪽 위 45도 방향으로 일정한 속력으로 움직이기 시작한다. 처음에 (p,q)에서 출발한 개미는 1시간 후에는 (p+1,q+1)로 옮겨간다. 단, 이 속력으..

algorithm 2023.12.01

[백준 10157번 자리배정]

문제 링크: https://www.acmicpc.net/problem/10157 어떤 공연장에는 가로로 C개, 세로로 R개의 좌석이 C×R격자형으로 배치되어 있다. 각 좌석의 번호는 해당 격자의 좌표 (x,y)로 표시된다. 예를 들어보자. 아래 그림은 가로 7개, 세로 6개 좌석으로 구성된 7×6격자형 좌석배치를 보여주고 있다. 그림에서 각 단위 사각형은 개별 좌석을 나타내며, 그 안에 표시된 값 (x,y)는 해당 좌석의 번호를 나타낸다. 가장 왼쪽 아래의 좌석번호는 (1,1)이며, 가장 오른쪽 위 좌석의 번호는 (7,6)이다. (1, 6) (7, 6) (4, 4) (7, 4) (1, 3) (6, 3) (1, 2) (1, 1) (2, 1) (3, 1) (7, 1) 이 공연장에 입장하기 위하여 많은 사람이..

algorithm 2023.11.30