프로그래머스/LV.1(48)
-
[프로그래머스][LV.1] 푸드 파이트 대회 | python3
문제 링크: 푸드 파이트 대회 문제 설명문제 설명수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다.이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음식을 더 잘 먹을 수 있게 하려고 합니다. 이번 대회를 위해 수웅..
2025.01.20 -
[프로그래머스][LV.1] 두 개 뽑아서 더하기 | python3
문제 링크: 두 개 뽑아서 더하기 문제 설명문제 설명정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.제한사항- numbers의 길이는 2 이상 100 이하입니다.numbers의 모든 수는 0 이상 100 이하입니다. 문제 풀이answer=list(set(answer)) answer.sort()위 두줄 순서 바꿔서 쓰면 테스느4,5번에서 에러남.set는 순서가 없는 자료형이라 그렇다고 함.set에 들어간 순서대로 list에 넣어주는 것이 일반적이지만 보장은 할 수 없다고...근데 이러한 문제로 다들 4,5 번에서 실패했던데 왜 그런지 궁금하다..
2025.01.20 -
[프로그래머스][LV.1] 가장 가까운 같은 글자 | python3
문제 링크: 가장 가까운 같은 글자 문제 설명문제 설명문자열 s가 주어졌을 때, s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다.예를 들어, s="banana"라고 할 때, 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서 다음과 같이 진행할 수 있습니다.b는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.a는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.n은 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다.a는 자신보다 두 칸 앞에 a가 있습니다. 이는 2로 표현합니다.n도 자신보다 두 칸 앞에 n이 있습니다. 이는 2로 표현합니다.a는 자신보..
2025.01.20 -
[프로그래머스][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