본문 바로가기

Algorithm & SQL/Programmers

(67)
[Algorithm] [Python] Programmers - 완주하지 못한 선수 완주하지 못한 선수 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. ### 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예 participant completion retu..
[Algorithm] [Python] Programmers - 하샤드 수 하샤드 수 문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한 조건 x는 1이상, 10000이하 정수이다. 입출력 예 arr return 10 true 12 true 11 false 13 false ###제출 코드 def solution(x): arr = list(str(x)) pos_sum = 0 for pos_num in arr: pos_sum += int(pos_num) if x % pos_sum == 0: return True else: return False..
[Algorithm] [Python] Programmers - 정수 제곱근 판별 정수 제곱근 판별 문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 n return 121 144 3 -1 121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴한다. 3은 양의 정수의 제곱이 아니므로, -1을 리턴한다. 제출 코드 import math def solution(n): x = math.sqrt(n) if x % 1 == 0: answer = (x+1)**2 else: answer = -1 return a..