본문 바로가기

분류 전체보기715

[백준 28701] 세제곱의 합 [Python] 풀이 1부터 N까지의 합은 N(N+1) / 2 으로 구할 수 있다. 1^3 부터 N^3까지의 합은 { N(N+1) / 2 }^2 이며, 이는 (1 + ... + N)^2와 동일하다. 위 공식에 입력받은 정수 N을 대입해 결과를 출력해주자. 소스코드 소스코드 보기 출처 28701번: 세제곱의 합 $a$의 제곱은 $a$를 두 번 곱한 수로, $a^2$으로 표현합니다. $a^2 = a \times a$입니다. 또한, $a$의 세제곱은 $a$를 세 번 곱한 수로, $a^3$으로 표현합니다. $a^3 = a \times a \times a$ 입니다. www.acmicpc.net 2023. 8. 21.
[백준 25893] Majestic 10 [Python] 풀이 입력받은 세 정수중 10 이상의 정수의 개수에 따라 알맞는 문자열을 출력하면 되는 문제다. 정수를 입력받고, 길이가 2이상인 수의 개수를 세어주어 정답을 출력했다. 소스코드 소스코드 보기 출처 25893번: Majestic 10 The movie “Magnificent 7” has become a western classic. Well, this year we have 10 coaches training the UCF programming teams and once you meet them, you’ll realize why they are called the “Majestic 10”! The number 10 is actually special in many www.acmicpc.net 2023. 8. 20.
[백준 28439] 행렬 연산 (연산 찾기) [Python] 풀이 모든 행과 열에 대해 연산을 적용해 입력받은 행렬과 비교하는 방법은 시간초과가 날것이 자명하다. 마치 노노그램 게임처럼 그림을 그리듯 테두리의 행/열 값을 가지고 연산을 하면 풀 수 있는 문제다. 행/열에 더하는 수를 R(i), C(j)라 한다면, 다음을 만족한다. R(i) + C(j) = A(i, j) C(j) = A(i, j) - R(i) = A(1, j) - R(1) R(i) = A(i, j) - C(j) = A(i, 1) - C(1) = A(i, 1) - { A(1, 1) - R(1) } = A(i, 1) - A(1, 1) + R(1) 위와 같은 수식을 통해 행렬을 만들 수 있다. 하지만, 이러한 연산의 횟수를 최소화 해야한다. 아래의 예제를 살펴보자. 위 행렬을 만들기 위해 최대 5번의 연.. 2023. 8. 19.
[구름톤 챌린지] 5일차 - 이전수 정렬 [Python] 풀이 1주차 문제 중 처음으로 정답률이 90% 아래로 떨어진 문제다. 아마도 2진수에 대한 이해와, 정렬 조건이 두개라는 부분에서 실수하는 듯 하다. Python으로 풀이했기 때문에 단순히 bin으로 10진수를 2진수 문자열로 변환 후 '1'의 개수를 세주었다. 동시에, 1의 개수가 동일하다면 원래의 수를 기준으로 내림차순 정렬해야되기 때문에 (2진수 중 1의 개수, 원래 수) 라는 쌍으로 새로운 리스트를 만든 후 내림차순 정렬해주어 풀이했다. 결과로 입력받은 K번째 수의 원래수를 출력해주자. 만약, 이진수 중 1의 개수를 구해주는 내장함수가 없거나, 최적화 하고싶다면 아래와 같이 비트1의 개수를 구해주는 함수를 만들어서 풀이하면 된다. 단, 문제에서 주어진 수들의 범위는 2^20 에, 최대 50만개 이.. 2023. 8. 18.
[구름톤 챌린지] 4일차 - 완벽한 햄버거 만들기 [Python] 풀이 주어진 햄버거의 맛이 bitonic sequence을 이루는지 판별하는 문제다. 이전 수와 현재 수가 동일한 경우는 상관이 없어 조건에서 제외했다. 만약 오름차순이다가 내림차순이면 reverse를 True로 바꾼 후 bitonic sequence가 성립하지 않는 수가 나올 때 까지 검사를 실행해주었다. 만약, N개의 요소를 검사하며 전부다 성립했다면, K의 합을 출력해주자. 출처 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 2023. 8. 18.
[구름톤 챌린지] 3일차 - 합 계산기 [Python] 풀이 N개의 계산식을 입력받아 얻은 정수 결과값의 합을 출력하면 된다. 나누기의 경우 문제에서 조건이 주어지지 않았지만, 예시1, 2를 통해 나눗셈의 결과는 정수로 가정하고 풀이했다. 아래와 같은 입력에 대해 모호한 점이 있다. input 1 3 / 1 3 / 1 output 2 or 3 eval을 사용해 연산 기호에 따른 별도의 처리 없이 합을 구해주었다. 출처 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io 2023. 8. 16.