목록알고리즘 (21)
Front-end Developer
문제 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 문제풀이 from itertools import permutations import math def prime_number(n): num = math.sqrt(n) if n < 2: return False for k in range(2, int(num)+1): if n % k == 0: return False return True def solution(numbers): answer = [] #permutation 혹은 combination을..
문제 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr 문제풀이 import math def solution(n, words): answer = [] #words에 첫번 째 idx에 있는 값을 넣어서 비교할 수 있게 한다. lst = [..
문제 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 문제풀이 function solution(answers) { var answer = []; let lst1 = [1,2,3,4,5]; let lst2 = [2,1,2,3,2,4,2,5]; let lst3 = [3,3,1,1,2,2,4,4,5,5]; let cnt1 = 0 let cnt2 = 0 let cnt3 = 0 for(let i = 0; i < (answers.length/lst1.length*lst1.length)+(answers.length%lst..
문제 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 문제풀이 function solution(numbers) { var lst = []; for (let i = 0; i < numbers.length; i++){ if(i !== numbers.length-1){ for (let j = i+1; j < numbers.length; j++){ lst.push(numbers[i]+numbers[j]) } } } //lst 배열을 set 형식으로 바꿔서 중복되는 숫자..
문제 코딩테스트 연습 - 피보나치 수 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = programmers.co.kr 문제풀이 # n은 100000이하인 자연수여서 재귀함수를 풀면서하니까 에러가 났다. def solution(n): # num = num2 + num1 num2 = 0 num1 = 1 num = 1 # range 3부터 시작한 이유는 num, num1, num2를 이미 세팅해놨기 때문입..
문제 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 문제풀이 def solution(board, moves): lst = [] # moves가 다 끝나고 나서 lst 안에서 터트려진 인형의 개수 answer = 0 for i in moves: # board안에 있는 맨 마지막 리스트에 i번째 숫자가 0이면 가져올꺼가 없기 때문에 제외한다. if board[-1][i-1] != 0: k = 0 # board 첫번 째 리스트부터 시작해서 0값을 가지고 있지 않은 k번째 리스트를 찾는다. while board[k][i-1] == 0: k ..
문제 문제풀이 import sys read = sys.stdin.readline N, M = map(int, read().split()) lst = [i for i in range(1, N+1)] check_list = [False]*N arr = [] def dfs(cnt): if cnt == M: print(*arr) return for i in range(N): if check_list[i]: continue check_list[i] = True arr.append(lst[i]) dfs(cnt+1) arr.pop() for j in range(i+1, N): check_list[j] = False dfs(0) if cnt == M: print(*arr) return M이 수열의 길이 이기 때문에 a..
문제 문제풀이 스스로 짠 코드 from sys import stdin read = stdin.readline N = int(read()) lst = [] for _ in range(N): lst.append(list(map(int, read().split()))) def conqure(n, lst): # 이중 리스트안에 1이 없으면 조건충족 if not any(1 in i for i in lst): # 함수안에서 전역변수값을 가지고 쓸 때 전역변수 값을 변형시킬려면 global을 써야한다. lst_cnt.append(0) return # 이중 리스트안에 0이 없으면 조건충족 elif not any(0 in i for i in lst): lst_cnt.append(1) return else: lst_0 =..