분류 전체보기(119)
-
[프로그래머스] 숫자 카드 나누기 문제 풀이(코딩테스트 입문 Lv. 2) - 자바 Java
0. 자세한 설명은 YouTube 영상으로 1. GCD를 활용한 풀이 class Solution { public boolean notDivisible(int[] arr, int num){ for(int n : arr) if(n % num == 0) return false; return true; } public int gcd(int a, int b){ if(a % b == 0)return b; return gcd(b, a % b); } public int solution(int[] arrayA, int[] arrayB) { // 0. 입력 및 초기화 int answer = 0; int gcdA = arrayA[0]; int gcdB = arrayB[0]; // 1. 각 배열의 최대공약수 구하기 for(i..
2022.12.17 -
[프로그래머스] 콜라 문제 풀이(코딩테스트 입문 Lv. 1) - 파이썬 python
0. 자세한 설명은 YouTube 영상으로 1. 가장 단순한 풀이 def solution(a, b, n): answer = 0 # 1. 빈 병의 개수 n이 교환 가능한 최소 숫자 a 이상일 때까지 반복 while n >= a: # 2. b개의 병 추가 answer += b # 3. 남은 병 계산하기 n = n - a + b return answer 2. 최적화된 풀이 def solution(a, b, n): answer = 0 # 1. 빈 병의 개수 n이 교환 가능한 최소 숫자 a 이상일 때까지 반복 while n >= a: # 2. 현재 빈 병으로 받을 수 있는 새로운 개수 및 나머지 계산 newCount = n // a * b leftover = n % a # 3. 정답 반영 및 빈 병 개수 다시 계..
2022.12.15 -
[프로그래머스] 겹치는 선분의 길이 문제 풀이(코딩테스트 입문 Lv. 0) - 자바 Java
0. 자세한 설명은 YouTube 영상으로 1. 배열을 활용한 Solution class Solution { public int solution(int[][] lines) { // 1. arr 배열 및 변수 초기화 int[] arr = new int[200]; int answer = 0; // 2. lines 정보를 arr 배열에 적용 for(int i = 0; i 1) answer++; return answer; } }
2022.12.10 -
[프로그래머스] 분수의 덧셈 문제 풀이(코딩테스트 입문 Lv. 0) - 파이썬 python
0. 자세한 설명은 YouTube 영상으로 1. 단순 gcd를 활용한 Solution # ver1 def solution(denum1, num1, denum2, num2): # 1. 두 분수의 합 계산 boonmo = num1 * num2 boonja = denum1 * num2 + denum2 * num1 # 2. 최대공약수 계산 start = max(boonmo, boonja) gcd_value = 1 for num in range(start, 0, -1): if boonmo % num == 0 and boonja % num == 0: gcd_value = num break # 3. gcd 로 나눈 값을 answer에 담기 answer = [boonja / gcd_value, boonmo / gcd_..
2022.12.08 -
역행자(자청) 1단계 자의식 해체 - 후기와 적용점
0. 서론 - 인생에도 (나만 모르는) 공략집이 있다 어린 시절 나는 게임을 정말 잘했다. 비결은 간단했다. 친구들과 새로운 게임을 하고 나면, 나는 집에 가서 웹사이트 게시판에 올라온 공략집을 몰래 읽었다. 친구들은 수백 판 게임만 하지만, 나는 게임 횟수를 늘리기보다는 공략집을 읽는 데 몰두했다. 1~2주 정도 몰래 공부한 뒤에 게임을 해보면 비교가 안 된다. - 자청 세상 모든 것이 그렇듯 인생, 돈, 행복에도 공략집이 존재한다. 혼자서 무식하게 앞만 보고 달리는 게 성공할 확률이 가장 높던 시절도 있었지만, 사람들이 서로 정보와 경험을 공유하는 이 시대에는 더 이상 매뉴얼 없이 혼자서 모든 걸 겪어가면서 배워서 성공하기는 어렵다. 자청은 이러한 서론으로 역행자의 7단계를 소개하고, 이 7단계가 본..
2022.11.03 -
[프로그래머스] 기능개발 문제 풀이(Queue 큐 Lv. 2) - java 자바
0. 자세한 설명은 YouTube 영상으로 1. ArrayList + for 문을 활용한 Solution import java.util.*; class Solution { public int[] solution(int[] progresses, int[] speeds) { List answer = new ArrayList(); for (int i = 0; i < progresses.length; i++) { // 1. 한 개 기능을 개발하는데 필요한 날짜 계산 double days = (100 - progresses[i]) / (double) speeds[i]; int daysUp = (int) Math.ceil(days); // 2. 함께 배포할 기능의 index 찾기 int j = i + 1; for ..
2022.05.24