전체 글

또렷한 기억보다 희미한 연필자국이 낫다
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으로 잘못 계산하여 런타임 에러가 났다. 행렬의 곱셈A는 2×3 행렬, B는 3×2 행렬이라고 가정했을 때 AB의 결과는 2×2 행렬이다.파이썬def solution(arr1, arr2): answer = [[0] * len(arr2[0]) for _ in range(len(arr1))] # 규..

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

React

[React] iframe 태그를 활용해 CodePen 코드 가져오기

React로 프로젝트를 진행하던 중 CodePen 사이트에서 괜찮은 코드를 참조하거나 가져오고 싶은 경우가 있다. 하지만 CodePen에 있는 대부분의 코드들은 html, JavaScript, CSS로 코드가 짜여져 있는 경우가 많아 React 프로젝트에 바로 적용하기는 어려움이 있다. 그래서 iframe 태그를 활용하여 CodePen의 코드들을 그대로 가져와 사용해보려고 한다. 태그 HTML 요소는 중첩 맥락을 나타내는 요소로, 현재 문서 안에 다른 HTML 페이지를 삽입한다. 즉, html안에 또다른 html을 넣을 수 있다. https://developer.mozilla.org/ko/docs/Web/HTML/Element/iframe 적용하기 1. CodePen에서 사용하고자 하는 코드를 고른다. ..

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

PS (Problem Solving)/Programmers

[프로그래머스] 짝지어 제거하기 - 파이썬, 자바스크립트

문제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() # 같으면 제거 ..

PS (Problem Solving)/Programmers

[프로그래머스] 다음 큰 숫자

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

PS (Problem Solving)/Programmers

[프로그래머스] 피보나치 수

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

캐럿노트
기록하는 블로그