문제 https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 다른 사람들은 중복순열로 풀었지만 알파벳이 5개밖에 되지 않아 dfs로 풀었다. cnt, answer = 0, 0 # 전역변수 선언 def dfs(level, arr, word2): global cnt, answer data = ['A', 'E', 'I', 'O', 'U'] if arr == word2: answer = cnt return if level == 5: # 길이 5가 되..
문제https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 설계처음에 문제를 잘 못 이해했었다. 기록된 가격보다 떨어지지 않은 경우가 총 몇초인지를 반환하는 줄 알았는데, 한 번이라도 가격이 떨어지면 끝이다. 자바스크립트function solution(prices) { let answer = []; for (let i = 0; i 파이썬- 2중 for문으로 가격이 떨어지는지 확인- 가격이 떨어진다면 break & bucket에 값 더하기def..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42587?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 출력해야 하는 location 위치를 index로 비유하여 풀이 - bucket array를 사용하는것이 더 쉬운 풀이방법 같다. def solution(priorities, location): answer = 0 # 출력 횟수 while 1: flag = 0 # 우선순위 확인 for i in range(1, len(priorities)): if pri..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 규칙을 보니 피보나치와 동일하여 피보나치 공식을 적용했다. - 마지막에 123456으로 나누는 이유는 피보나치 수가 빠르게 증가하는데 int 자료형의 범위를 넘어서기 때문이다. def solution(n): now, next = 0, 1 if n == 1: return 1 for _ in range(n+1): now, next = next, now + next return now %..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 처음부터 이동하는 것이 아닌 목적지에서 거꾸로 돌아오는 방법으로 접근한다. - 2로 나누었을 때 나머지가 생길 경우 한칸 이동(건전지 사용)으로 간주한다. def solution(n): answer = 0 while n > 0: if n % 2 == 1: answer += 1 n = n // 2 return answer
문제https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr설계- 행렬의 곱셈 방식을 알아야 한다.- 처음 빈 배열을 생성할 때 arr2가 아닌 arr1으로 잘못 계산하여 런타임 에러가 났다. 행렬의 곱셈A는 2×3 행렬, B는 3×2 행렬이라고 가정했을 때 AB의 결과는 2×2 행렬이다.파이썬def solution(arr1, arr2): answer = [[0] * len(arr2[0]) for _ in range(len(arr1))] # 규..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 모든 숫자 탐색, 2중 for문 def solution(citations): answer = 0 for i in citations: # 모든 숫자 탐색 cnt = 0 for j in range(len(citations)): # 해당 숫자에서 인용 횟수 확인 if i = cnt: # 논문이 인용된 횟수가 h번 이상 if answer < cnt: # max값 확인 answer = cnt..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 유클리드 호제법 사용 1. 최소공약수를 구한다. 2. 최소공배수 = (a * b) / 최소공약수 def lcm(a, b): # 최소공약수 return (a * b) / gcd(a, b) def gcd(a, b): # 최소공배수 while b > 0: r = a % b a = b b = r return a def solution(arr): arr.sort() value = arr[0]..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - math 함수 사용하여 올림 import math def solution(n, words): arr = [] cnt = 0 for i in range(0, len(words)): if words[i] in arr: return (math.ceil(cnt % n) +1, cnt // n + 1) elif (i > 0 and i < len(words)) and words[i-1][-1]..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 2중배열을 sort한 후 sizes[n][0] 자리의 max값과 sizes[n][1] 자리의 max값을 확인 후 곱한다. def solution(sizes): for arr in sizes: if arr[0] max1: ma..