문제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..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 설계- stack을 활용하여 비교했다.- 마지막에 stack의 값이 남아있다면 false 반환 파이썬def solution(s): stack = [] for next in s: if stack: # 스택이 있다면 if stack[-1] == next: # 마지막 스택과 비교 stack.pop() # 같으면 제거 ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 2진법으로 변환 후 포맷에 맞게 변환하였다. - bin(n)[2:] -> 이 방식은 유용하게 사용할 것 같다. def solution(n): sum_n = list(bin(n)[2:]).count('1') for i in range(n + 1, 1000000): sum_next = list(bin(i)[2:]).count('1') if sum_n == sum_next: return i
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 자주 나오는 문제, 암기해도 좋다. - for문, 재귀등 여러가지 방법이 있지만 시간복잡도상 for문이 유리하여 for문으로 풀이했다. def solution(n): now, next = 0, 1 for _ in range(n): now, next = next, now + next return now % 1234567
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12924?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 숫자의 절반 또는 +1 까지 for문 - 합이 목표보다 커지면 false, 딱 떨어지면 cnt + 1 import math def solution(n): # 예외 처리 if n == 1: return 1 cnt = 0 half = math.ceil(n/2) for i in range(1, half+1): sumV = 0 for j in range(i, ..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 자바스트립트function solution(s){ let answer = 0; for (const bracket of s) { if (bracket === "(") { answer += 1 } else { answer -= 1 } // 닫는 문자가 더 많을 경우 false 반환 if (..