Python

    [파이썬/Python] 진법 변환 함수 - int( )

    [파이썬/Python] 진법 변환 함수 - int( )

    프로그래머스 강의 에서 숫자 num과 진법을 나타내는 base를 파라미터로 제공해줄 때, 10진법 숫자로 출력하라는 문제가 있었다. 나는 다음과 같은 코드로 짰다. num, base = map(int, input().strip().split(' ')) # 프로그래머스 측에서 제공해주는 입력값을 받음 num = str(num) length = len(num) sum = 0 for i in range(length): sum = sum + int(num[i])*pow(base, length-i-1) print(sum) 잘 굴러는 갔는데, python답지 못하다고 할 것이다. 그러나 어쩌나... 이렇게 밖에 짤 줄 모르는 나다. 근데 python 내의 내장 함수를 이용하는 코드를 보니 살짝 충격적이었다. pyt..

    [파이썬/Python] divmod와 언패킹(unpacking)을 활용하여 몫과 나머지 구하기

    [파이썬/Python] divmod와 언패킹(unpacking)을 활용하여 몫과 나머지 구하기

    a와 b라는 수가 주어진 후, a과 b를 나눈 몫과 나머지를 구하는 연산은 무엇일까? 1. 몫을 구하는 연산자 //, 나머지를 구하는 연산자 %를 통해 출력 a = 5 b = 3 print(a//b, a%b) # 출력값 : 1 2 많은 사람들이 위와 같이 코드를 짤 것이라고 생각한다. 나 또한 위처럼 짰다. 하지만 프로그래머스 인강 '파이썬을 파이썬답게'에서는 몫과 나머지를 한꺼번에 구하는 내장 함수 divmod와 unpacking 기법을 활용하여 몫과 나머지를 구하는 방법을 알려준다. 2. 몫과 나머지를 한꺼번에 구하는 내장 함수 divmod와 unpacking을 통해 출력 a = 5 b = 3 print(*divmod(a, b)) # 출력값 : 1 2 python 내장함수 중 divmod는 복소수가 ..

    [프로그래머스][파이썬/Python] x만큼 간격이 있는 n개의 숫자

    [프로그래머스][파이썬/Python] x만큼 간격이 있는 n개의 숫자

    문제 설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한 조건 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다. 입출력 예 제출 코드 def solution(x, n): answer = [] for i in range(1, n+1): answer.append(i*x) return answer Source : https://programmers.co.kr/learn/courses/30/lessons/12954

    [프로그래머스][파이썬/Python] 문자열을 정수로 바꾸기

    [프로그래머스][파이썬/Python] 문자열을 정수로 바꾸기

    문제 설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 0으로 시작하지 않습니다. 입출력 예 예를들어 str이 1234이면 1234를 반환하고, -1234이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다. 제출 코드 def solution(s): if s[0] == '+': return int(s[1:]) elif s[0] == '-': return -(int(s[1:])) else: return int(s[:]) Source : https://program..

    [프로그래머스][파이썬/Python] 두 정수 사이의 합

    [프로그래머스][파이썬/Python] 두 정수 사이의 합

    앞으로 Level 1들을 우선적으로 쭉 풀고 Level을 올려갈 생각이다. Level 1들 중에서도 난이도 차이가 있는 것들이 보이는데, 시간 절약을 위해 너무 쉬운 코드들이나 굳이 쓸 말이 없는 코드들은 문제와 문제 조건, 코드만 올릴 예정이다. 이 문제도 마찬가지로 너무 쉬워서 할 말이 없다. 그냥 코드나 올리자. 문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져..

    [프로그래머스][파이썬/Python] K번째수

    [프로그래머스][파이썬/Python] K번째수

    문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면, array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 array의 길이는 1 이상 100 이하입니다. ..

    [프로그래머스][파이썬/Python] 체육복

    [프로그래머스][파이썬/Python] 체육복

    문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를..

    [프로그래머스][파이썬/Python] 완주하지 못한 선수

    [프로그래머스][파이썬/Python] 완주하지 못한 선수

    문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 풀이 과정 1. 최종 제출 코드와 테스트 결과 (통과) def solutio..