목록전체 글 (259)
차근차근

레버리지가 높은 활동에 집중하라 레버리지를 효과성의 측정 기준으로 삼아라 레버리지 = 생산한 효과 / 투자한 시간 파레토 법칙 : 다양한 활동에서 20% 작업이 80% 효과를 낸다. => 초기 투자 이후 유지관리 비용은 거의 없다. 레버리지를 늘리는 세 가지 방법 단위 시간당 생산 가치를 증가시키는 방법 특정 활동을 완료하는 데 드는 시간 줄이기 => 이 활동을 더 짧은 시간에 완료하려면 어떻게 해야 할까? 특정 활동의 생산량 늘리기 => 이 활동으로 생산되는 가치를 증가시키려면 어떻게 해야 할까? 레버리지가 높은 활동으로 전환하기 => 이 시간을 투자해 더 큰 가치를 생산할 수 있는 다른 활동이 있을까? 위 방법 적용 기능 개발 수동으로 개발하던 개발/테스트 프로세스 중 일부를 자동화해서 개발 주기를 ..

0. Jest란? - 페이스북에서 만든 테스트 프레임워크 1. 사용 방법 1-1. 설치 npm install jest --save-dev 1-2. package.json의 scripts를 다음과 같이 수정 1-3. 코드 작성 * fn.js const fn = { add: (num1, num2) => (num1 + num2), }; module.exports = fn; * fn.test.js const fn = require('./fn'); test('1은 1이야.', () => { expect(1).toBe(1); }); test('2더하기 3은 5야.', () => { expect(fn.add(2, 3)).toBe(5); }); test('3더하기 3은 5야.', () => { expect(fn.add..

0. 제목 백준 9012 괄호 BOJ 9012 괄호 파이썬 9012 괄호 Python 9012 괄호 1. 문제 www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 2. 풀이 스택을 사용해서 '('이 나오면 push, ')'이 나오면 pop을 한다. 반복문 중간에 pop을 할 수 없을 때 또는 마지막에 스택의 원소 개수가 0이 아닐때 NO를 출력하고 아니면 YES를 출력한다. 3. 코드 1 2 3 4 5 6 7 8 9 10 11 12..

0. 제목 백준 1157 단어 공부 BOJ 1157 단어 공부 파이썬 1157 단어 공부 Python 1157 단어 공부 1. 문제 www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 2. 풀이 입력 받은 문자를 upper함수를 이용해 대문자로 바꿔준다. dictionary로 등장한 문자를 key값으로, 개수를 value로 저장한다. 가장 많이 등장한 value를 찾고 그 key값들을 배열의 원소로 넣는다. 배열의 원소개수가 1개이면 해당 문자를 출력하고 아니라면 ?를 출력해준다. 3. 코드 1..

0. 제목 백준 10809 알파벳 찾기 BOJ 10809 알파벳 찾기 파이썬 10809 알파벳 찾기 Python 10809 알파벳 찾기 1. 문제 www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 2. 풀이 dictionary를 사용하여 알파벳이 처음으로 나오는 위치를 저장해준다. 문자를 아스키코드로 변환해주는 ord와 아스키코드를 문자로 변환해주는 chr을 사용하여 결과값을 출력한다. 3. 코드 1 2 3 4 5 6 7 8 9 10 11 12 s..

0. 제목 백준 8958 OX퀴즈 BOJ 8958 OX퀴즈 파이썬 8958 OX퀴즈 Python 8958 OX퀴즈 1. 문제 www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 2. 풀이 O가 나오는 수를 세고 그 수를 점수에 누적하여 더해준다. O가 나오지 않을 경우 수를 0으로 리셋해준다. 테스트케이스마다 점수를 출력해준다. 3. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 T = int(input()) for _ in ra..

0. 제목 백준 1495 기타리스트 BOJ 1495 기타리스트 파이썬 1495 기타리스트 Python 1495 기타리스트 1. 문제 www.acmicpc.net/problem/1495 1495번: 기타리스트 첫째 줄에 N, S, M이 주어진다. (1 ≤ N ≤ 100, 1 ≤ M ≤ 1000, 0 ≤ S ≤ M) 둘째 줄에는 각 곡이 시작하기 전에 줄 수 있는 볼륨의 차이가 주어진다. 이 값은 1보다 크거나 같고, M보다 작거나 같다. www.acmicpc.net 2. 풀이 0부터 m까지의 볼륨이 가능하고 각 볼륨에서 출력이 가능하면 True, 불가능하면 False로 설정한다. dp[i][j + 1] : i 번째 노래일 때 j 크기의 볼륨으로 연주 가능한지 여부 노래를 순서대로 확인하며, 매 번 모든 크..

0. 제목 백준 9251 LCS BOJ 9251 LCS 파이썬 9251 LCS Python 9251 LCS 1. 문제 www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. www.acmicpc.net 2. 풀이 두 문자열의 길이를 조금씩 늘려 가며 확인하여 공통 부분 수열의 최대 길이를 계산한다. 두 문자열을 X, Y라고 할 때 X[i-1] = Y[i-1] 이면 dp[i] = dp[i-1][j-1] + 1, X[i-1] != Y[i-1] 이면 dp..

0. 제목 백준 11053 가장 긴 증가하는 부분 수열 BOJ 11053 가장 긴 증가하는 부분 수열 파이썬 11053 가장 긴 증가하는 부분 수열 Python 11053 가장 긴 증가하는 부분 수열 1. 문제 www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 2. 풀이 dp[i] : i 번째 원소까지의 가장 긴 증가하는 부분 수열의 길이 가장 먼저 dp의 원소들을 1로 초기화 시켜..

0. 제목 백준 12865 평범한 배낭 BOJ 12865 평범한 배낭 파이썬 12865 평범한 배낭 Python 12865 평범한 배낭 1. 문제 www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 2. 풀이 dp[i][j] = 배낭에 넣은 물품의 무게 합이 j일 때 얻을 수 있는 최대 가치 각 물품의 번호 i에 따라서 dp[i][j]를 갱신한다. 1부터 k까지 증가하는 변수 j가 입력된 무게보다..