programmers

PS (Problem Solving)/Programmers

[프로그래머스] 모음 사전

문제 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가 되..

PS (Problem Solving)/Programmers

[프로그래머스] 주식가격

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 2중 for문으로 가격이 떨어지는지 확인 - 가격이 떨어진다면 break & bucket에 값 더하기 def solution(prices): N = len(prices) bucket = [0] * N for i in range(N): cnt = 0 for j in range(i+1, N): cnt += 1 if prices[i] > prices[j]: break bucket[i] +..

PS (Problem Solving)/Programmers

[프로그래머스] 프린터

문제 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..

PS (Problem Solving)/Programmers

[프로그래머스] 멀리 뛰기

문제 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 %..

PS (Problem Solving)/Programmers

[프로그래머스] 점프와 순간이동

문제 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

PS (Problem Solving)/Programmers

[프로그래머스] 행렬의 곱셈

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 설계 - 행렬의 곱셈 방식을 알아야 한다. - 처음 빈 배열을 생성할 때 arr2가 아닌 arr1으로 잘못 계산하여 런타임 에러가 났다. def solution(arr1, arr2): answer = [[0] * len(arr2[0]) for _ in range(len(arr1))] # 규격에 맞는 빈 배열 생성 # 계산 for i in range(len(arr1)): for x in ran..

PS (Problem Solving)/Programmers

[프로그래머스] H-index

문제 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..

PS (Problem Solving)/Programmers

[프로그래머스] N개의 최소공배수

문제 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]..

PS (Problem Solving)/Programmers

[프로그래머스] 영어 끝말잇기

문제 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]..

PS (Problem Solving)/Programmers

[프로그래머스] 최소직사각형

문제 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..

캐럿노트
'programmers' 태그의 글 목록 (11 Page)