본문 바로가기

전체 글714

[구름톤 챌린지] 1일차 - 운동 중독 플레이어 [Python] 풀이입력받은 W, R을 문제에서 주어진 1RM = W * (1 + R/30) 이라는 공식에 대입해 1RM을 구하면 되는문제였다. 소숫점 이하의 값은 버린 뒤 출력해야 하므로 정수로 형변환 해준 후 출력해주었다.출처 구름LEVEL난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.level.goorm.io 2023. 8. 15.
[백준 9036] 대지 [Python] 풀이 입력받은 좌표 x,y에 대해 최소/최대값을 구한 후 가로 세로 길이를 구해 직사각형의 넓이를 구하는 문제다. 좌표들을 x, y에 대해 순차적으로 정렬 후 가장 작은 좌표와 큰 좌표값을 구해 직사각형의 최대 넓이를 계산해 주자. 소스코드 소스코드 보기 출처 9063번: 대지 첫째 줄에는 점의 개수 N (1 ≤ N ≤ 100,000) 이 주어진다. 이어지는 N 줄에는 각 점의 좌표가 두 개의 정수로 한 줄에 하나씩 주어진다. 각각의 좌표는 -10,000 이상 10,000 이하의 정수이다. www.acmicpc.net 2023. 8. 11.
[백준 28433] 게리맨더링 [Python] 풀이 양수구간의 갯수가 음수구간의 갯수보다 많은지 판별하는 pure greedy 문제이다. 양수/음수구간에 대해 최대 구간을 구하기 위한 조건을 생각해보자. 먼저 양수구간의 경우 두 양수는 각각의 구간을 가지는 것이 좋다. 만약, 음수구간이다가 양수 또는 0을 만났을 경우 해당 구간을 합쳐 양수로 만들어 음수구간의 수를 최소화 할 수 있다면 합쳐야 한다. 음수구간에 대해서는 최대한 음수끼리는 합쳐야 한다. 만약 양수구간이다가 음수 또는 0 을 만났고, 합쳐서 양수구간으로 만들지 못한다면, 분리해야한다. 양수/음수구간의 판단은 이전구간의 합과 현재 요소의 값을 통해 최적으로 판단해야 되기 때문에 합는 경우는 단순히 이전 구간에 현재 구간의 값만 더해준 후 다음으로 넘어가면 된다. 또한, 요소 자체가 0인 .. 2023. 8. 11.
[백준 25881] Electric Bill [Python] 풀이 사용량이 1000KWH 이하인 경우에 적용되는 요금과, 초과한 경우 적용하는 요금을 입력받고, 사용한 전력량에 대해 요금을 계산해 출력하면 되는 문제다. 소스코드 소스코드 보기 출처 25881번: Electric Bill The first input line contains two integers (each between 2 and 20, inclusive), indicating the rate/KWH for the first 1000 KWH and the rate/KWH for the additional usage, respectively. The next input line contains a positive integer, n, indicating the number www.acmicpc.net 2023. 8. 9.
[백준 2104] 부분배열 고르기 [C++] 풀이 일반적으로 범위가 넓을수록 최솟값과의 곱으로 인해 점수가 작을것이다. 때문에, 최솟값을 기준으로 나눈 영역(최솟값을 제외한 나머지 영역)에 대해 점수를 구할 때 높은 점수를 기대할 수 있다. 그러기 위해서는 먼저, 구간별로 가지는 합과, 최솟값을 구해야 한다. leaf를 입력받은 후 초기화를 진행해주자. pair에 합과, 최솟값을 가지는 요소의 index를 넣어줬다. 위에서 언급했듯, 최솟값을 기준으로 나눈 영역의 범위를 설정하기 위해서 value가 아닌 index를 넣어줬다. 구간별로 점수를 계산하기 위해 query를 작성해주었다. 주어진 구간에 대한 합과 최솟값의 index로 이루어진 pair를 반환한다. 초기화 단계에서는 올바르지 않은 요소를 접근하지 않는다. 하지만 위의 query는 올바르지.. 2023. 8. 7.
[백준 25858] Divide the Cash [Python] 풀이 전체 상금 d를 n명의 학생들이 맞춘 갯수에 따라 분배해야 하는 문제다. 전체 문제 갯수를 구하고, n명의 학생들이 맞춘 갯수에 따라 상금을 나누어 주자. 소스코드 소스코드 보기 출처 25858번: Divide the Cash The UCF Programming Team coaches schedule practices regularly in fall and spring (by the way, all UCF students are welcome to the practices). During summer, the majority of the team members are gone but the coaches know how to make sure the students don’ www.acmicpc.net 2023. 8. 5.