Engineering WIKI/Programmers71 [프로그래머스] 다음 큰 숫자 코딩테스트 연습 - 다음 큰 숫자 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니 programmers.co.kr 내 풀이 def solution(n): bin_n = format(n, 'b') count_one = bin_n.count('1') big_num = n + 1 while True: bin_big_num = format(big_num, 'b') if bin_big_num.count('1') == count_one: break big_num += 1 return big_num 2022. 5. 25. [프로그래머스] 올바른 괄호 코딩테스트 연습 - 올바른 괄호 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 programmers.co.kr 내풀이 1차 (실패) def solution(s): answer = True open_tag = "(" close_tag = ")" check_word = [] open_tag_count = 0 close_tag_count = 0 for word in s: check_word.append(word) if word == open_tag: open_tag_count += 1 if word == close_tag: clos.. 2022. 5. 24. [프로그래머스] 숫자의 표현 코딩테스트 연습 - 숫자의 표현 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 programmers.co.kr 내풀이 1차 (시간초과 실패) def solution(n): answer = 0 for i in range(1, n + 1): sum = 0 for j in range(i, n + 1): sum += j if sum == n: answer += 1 return answer 내풀이 2차 (코드 추가) def solution(n): answer = 0 for i in range(1, n + 1): sum = 0 for j in range(i, n.. 2022. 5. 24. [프로그래머스] 큰 수 만들기 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 다른 사람 풀이 def solution(number, k): answer = [] # Stack for num in number: while k > 0 and answer and answer[-1] < num: answer.pop() k -= 1 answer.append(num) return ''.join(answer[:len(answer) - k]) 2022. 5. 24. [프로그래머스] 스킬트리 코딩테스트 연습 - 스킬트리 programmers.co.kr 내 풀이 1차시도 실패 def solution(skill, skill_trees): answer = 0 skill_dict = dict() for index, val in enumerate(skill): skill_dict[val] = index for a in skill_trees: check_list = list() for b in a: if b in skill: check_list.append(skill_dict[b]) if sorted(check_list) == check_list and check_list[0] == 0: answer += 1 return answer 다른사람 풀이 def solution(skill, skill_tree.. 2022. 5. 23. [프로그래머스] N개의 최소공배수 코딩테스트 연습 - N개의 최소공배수 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배 programmers.co.kr 다른사람 풀이 from math import gcd def solution(arr): answer = arr[0] for i in range(1, len(arr)): answer = (answer * arr[i] // gcd(answer, arr[i])) return answer 2022. 5. 23. 이전 1 2 3 4 5 ··· 12 다음