본문 바로가기
반응형

Problem Solving/프로그래머스17

[프로그래머스 programmers] [1차] 다트 게임 programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 코드를 금방 짰는데도 사소한 실수때문에 굉장히 오래 걸렸다. 아래 for 문 속 lst[i]가 #또는 *인 경우에 score[-1]에 적절한 조취를 취해주는 것인데 처음에 이걸 score[i-1]로 해서 계속 범위 오류가 발생했다. i마다 스코어에 값이 매번 들어가는 것이 아닌데 i-1을 하면 분명 틀린 것이다. 이런 사소한 실수를 조심해야한다. def solution(dartResult): lst = [] sub = '' for result in dartResult: if result.isdigit(): sub += result elif resu.. 2021. 4. 27.
[프로그래머스 programmers] 실패율 programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr Solution 1 - Counter 모듈 사용 / 일일이 더해야 하는 번거로움 존재 import collections def solution(N, stages): lst = [] counter = collections.Counter(stages) def stage(i): challenge = 0 fail = 0 for key in range(i, N+2): if key >=.. 2021. 4. 26.
[프로그래머스 programmers] 최대공약수와 최소공배수 programmers.co.kr/learn/courses/30/lessons/12940 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr 최대공약수 GCD : The greatest common denominator 최대공배수 LCM : The least common multiple 성질 : 두 수의 곱 = GCD * LCM // 중학교 수학에서 배운다. def solution(n, m): g = 0 for i in range(n, 0, -1): if n%i==0 and m%i=.. 2021. 4. 26.
[프로그래머스 programmers] 소수 찾기 programmers.co.kr/learn/courses/30/lessons/12921 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr 처음 시도한 방식은 시간초과가 걸렸다. 3 이상의 홀수에 대해서만 소수검사를 실시하고 소수검사에서는 숫자 n을 3~ n//2+1에 해당하는 홀수로 나눠보면서 프라임넘버 여부를 확인했다. 예를 들어 n = 37이면 (3~19)에 속하는 홀수인 3,5,7,9,11,13,15,17,19을 차례대로 나눠보는 것이다. 문제에서 n의 범위가 100만이다보니 이렇.. 2021. 4. 26.
[프로그래머스 programmers] 3진법 뒤집기 programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr def solution(n): trans = '' while n > 0: trans += str(n%3) n = n//3 result = 0 i = 1 for num in trans[::-1]: result += i * int(num) i *=3 return result 처음엔 3진법->10진법 과정을 직접 작성했었는데 int 함.. 2021. 4. 26.
[프로그래머스 programmers] 소수 만들기 programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr import itertools def solution(nums): def isPrime(num:int): for i in range(2, num): if num % i ==0: return False return True answer = 0 lst = itertools.combinations(nums,3) for case in lst: num = sum(c.. 2021. 4. 26.
반응형