https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 3단계로 나누어서 생각함 1. 맨 앞의 1을 10으로 바꾸고 나머지를 sort 2. 0, 1의 위치를 바꾸고 나머지 sort 2. 0, 1의 위치 바꾸기 def solution(n): bin_n = list(bin(n)[2:]) len_n = len(bin_n) for i in range(len_n-1, 0, -1): if bin_n[i] == '1' and bin_n[i-1] == '..
https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 피보나치 수열에 % 1234567을 해줌 def solution(n): num1 = 0 num2 = 1 for _ in range(n-1): temp = num2 num2 = num1 + num2 num1 = temp return num2 % 1234567 다른 사람의 풀이 def fibonacci(num): a,b = 0,1 for i in range(num): a,b = b,a+b ..
https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 홀수의 경우 기본으로 자기 자신과, 연속된 2자리수로 cnt 2가 채워짐 홀수로 나누어 떨어질 때 연속된 숫자로 더하기가 가능함 def solution(n): answer = 1 if n == 1: return 1 if n % 2 == 1: answer += 1 for i in range(3,n,2): if n%i == 0: answer += 1 return answer 다른 사람의 풀..
https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 길이가 같은 서로 다른 배열의 곱의 합이 최소가 되게 하는 것 각 배열의 가장 작은 값이 가장 큰 값과 곱해져서 더해지는 것이 최소값이 될거라고 판단함 def solution(A,B): answer = 0 A.sort() B.sort(reverse=True) for a, b in zip(A, B): answer += a * b return answer 다른 사람의 풀이 아이디어는 같으나..
https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr heap 구조 이해할 겸 구현하여 풀었으나 효율성에서 떨어짐 https://pasongsong.tistory.com/146?category=1026284 [자료구조] 힙 Heap Heap 데이터에서 최대값과 최소값을 빠르게 찾기 위해 고안된 Complete Binary Tree 완전 이진 트리 Complete Binary Tree node 삽입시 최하단 왼쪽 node부터 차례대로 삽입하는 Tree..
https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아래의 코드를 사용하여 P의 위치를 다 구해서 2개씩 짝지어지는 경우의 수를 구함 list(combinations(P_pla,2)) 파란색 원이 그려진 P를 기준으로 4개의 경우의 수를 if문으로 만들고 사이에 O가 들어가면 0을 return 해주는 함수를 만듦 from itertools import combinations def check(places, com_pla): for i in com_..
https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 각 메뉴의 조합을 찾아서 메뉴의 개수를 비교하고 많이 나온 조합을 반환하여야 한다 음식 메뉴가 들어왔을 때 나올 수 있는 모든 조합을 만들고 모두 비교를 하였을 때 course 개수당 가장 많이 나온 메뉴를 초가해야함. from itertools import combinations from collections import Counter def solution(orders, course): ans..