목록개발이야기 (529)
준호씨의 블로그

문제: https://www.hackerrank.com/challenges/birthday-cake-candles/problem 당신은 조카의 생일 케이크를 담당합니다. 그리고 해마다 하나의 초를 가지게 됩니다. 조카는 가장 큰 촛불만 끌 수 있습니다. 당신의 임무는 조카가 불어서 끌 수 있는 초를 준비하는 것입니다. 예를 들어 조카가 4살이 되었고 4, 4, 1, 3 높이의 초가 있으면 가장 큰 4 높이의 초 2개를 끕니다. birthdayCakeCandles 함수를 완성합니다. 조카가 끌 수 있는 초의 개수를 리턴합니다. 풀이 가장 큰 초의 개수를 구하면 됩니다. max 함수를 이용해서 리스트에서 가장 큰 값을 찾습니다. list의 count함수를 이용해서 가장 큰 수의 개수를 구합니다. #!/bin..

문제: https://www.hackerrank.com/challenges/mini-max-sum/problem 5개의 양의 정수로 이루어진 배열이 있습니다. 4개의 숫자를 더해서 가장 작은 합과 가장 큰 합을 구하는 문제입니다. 간단히 생각해 보면 정렬한 다음 처음부터 4번째까지의 합과, 두 번째부터 마지막까지의 합을 구하면 됩니다. #!/bin/python3 import math import os import random import re import sys # Complete the miniMaxSum function below. def miniMaxSum(arr): sorted_arr = sorted(arr) print(sum(sorted_arr[:4]), sum(sorted_arr[1:])) i..

문제: https://www.hackerrank.com/challenges/staircase/problem HackerRank Problem Solving 첫번째 문제인 Staircase 입니다. 입력값이 4일 때 아래처럼 나오는 것입니다. # ## ### #### 프로그래밍 처음배울때 과제로 나오던 문제같이 생겼네요. 일단 n줄 만큼 출력해야 되니 n만큼 loop를 돌립니다. 그리고 내부에서도 n칸 만큼 채워넣어야 합니다. 다만 첫번째 줄에는 마지막 하나만 #이고 앞에는 스페이스입니다. 두번째 줄에는 마지막 두개만 #이고 앞에는 스페이스이죠. 마지막 줄에는 n개 만큼 #으로 모두 채워줍니다. loop안의 loop에서 n-i-1만큼은 공백을 출력하고 나머지는 #을 출력해 주면 됩니다. #!/bin/pyt..

문제: https://leetcode.com/explore/challenge/card/30-day-leetcoding-challenge/528/week-1/3285/ 정수배열 nums가 있습니다. 인접한 숫자들로 부분배열을 만들었을 때, 이 부분 배열들의 합 중 가장 큰 합을 구하는 문제입니다. Example: Input: [-2,1,-3,4,-1,2,1,-5,4], Output: 6 Explanation: [4,-1,2,1] has the largest sum = 6. 우선 brute force 하게 구현해 볼 수 있습니다. 모든 부분배열의 합 중 가장 큰 값을 찾으면 됩니다. class Solution: def maxSubArray(self, nums): result = nums[0] len_num ..

https://leetcode.com/explore/challenge/card/30-day-leetcoding-challenge/528/week-1/3284/ 숫자 n이 "happy"인지 확인하는 알고리즘을 작성하십시오. happy number는 다음 프로세스에 의해 정의된 숫자입니다. 양의 정수로 시작하여 숫자를 제곱의 제곱의 합계로 바꾸고 숫자가 1 (있을 때) 또는 반복될 때까지 프로세스를 반복하십시오. 이 과정이 1로 끝나는 숫자가 happy number입니다. n이 happy number이면 True, 아니면 False를 반환합니다. Example: Input: 19 Output: true Explanation: 1^2 + 9^2 = 82 8^2 + 2^2 = 68 6^2 + 8^2 = 100 ..