전체 글(142)
-
[프로그래머스][LV.1] 최소직사각형 | python3
문제 링크: 최소직사각형 문제 설명문제 설명명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다.아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때의 지갑 크기는 4000(=80 x 50)입니다.모든 명함의 가로 ..
2025.01.20 -
[프로그래머스][LV.1] 3진법 뒤집기 | python3
문제 링크: 3진법 뒤집기 문제 설명문제 설명자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.제한사항- n은 1 이상 100,000,000 이하인 자연수입니다. 문제 풀이처음엔 if n3진법은 정수를 3으로 나눈 몫과 나머지를 이용하여 만들 수 있다. 몫을 3보다 작아질때까지 계속 나누고 나머지를 거꾸로 거슬러 올라간 수가 3진법인데 문제에서는 3진법을 반대로 한 수를 구한다. 그렇기때문에 3으로 나눈 나머지를 차례대로 추가해주면 된다. 내코드def solution(n): answer = 0 str_n='' while True: if n 더보기다른사람풀이de..
2025.01.20 -
[프로그래머스][LV.1] 예산 | python3
문제 링크: 예산 문제 설명문제 설명S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다.물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다.부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요.제한사항- ..
2025.01.20 -
[프로그래머스][LV.1] 크기가 작은 부분 문자열 | python3
문제 링크: 크기가 작은 부분 문자열 문제 설명문제 설명숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요.예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다.제한사항- 1 ≤ p의 길이 ≤ 18- p의 길이 ≤ t의 길이 ≤ 10,000- t와 p는 숫자로만 이루어진 문자열이며, 0으로 시작하지 않습니다. 문제 풀이p의 길이만큼 차례대로 t에서 가지고 온다..
2025.01.19 -
[프로그래머스][LV.1] 같은 숫자는 싫어 | python3
문제 링크: 같은 숫자는 싫어 문제 설명문제 설명배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면,arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다.arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다.배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요.제한사항- 배열 arr의 크기 : 1,000,000 이하의 자연수- 배열 arr..
2025.01.19 -
[프로그래머스][LV.1] 직사각형 별찍기
문제 링크: 직사각형 별찍기 문제 설명문제 설명이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요.제한사항- n과 m은 각각 1000 이하인 자연수입니다. 문제 풀이이건 딱히 쓸 게 없다내코드a, b = map(int, input().strip().split(' '))print(('*'*a+'\n')*b) 더보기다른사람풀이
2025.01.19