네카라쿠배 취준반 - 프로그래머스 문제 풀이(52)
-
[프로그래머스] 콜라 문제 풀이(코딩테스트 입문 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 -
[프로그래머스] 기능개발 문제 풀이(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 -
[프로그래머스] 타겟넘버 문제 풀이(DFS BFS 재귀함수 Lv. 2) - java 자바
0. 자세한 설명은 YouTube 영상으로 개발자로 취직하기의 DFS 강의 : https://inf.run/MqJT [자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편 - 인프런 | 강의 자바(Java)로 코딩테스트를 준비하시는 DFS로 분들이 가장 많다는 소식을 들어 제작된 강의입니다 :) 문과 출신의 현업 개발자가 공부한 방식 그대로 설명하고, 지루한 이론 강의는 다 직접 문제를 www.inflearn.com 1. DFS(재귀함수)를 활용한 Solution class Solution { int answer; public int solution(int[] numbers, int target) { answer = 0; dfs(0, 0, numbers, target); return answer..
2022.03.30 -
[백준 1018] 체스판 다시 칠하기 (완전탐색) - java 자바
0. 자세한 설명은 YouTube 영상으로 1-1. 완전탐색 Solution import java.util.Scanner; class Main { public static int getSolution(int startRow, int startCol, String[] board) { String[] orgBoard = { "WBWBWBWB", "BWBWBWBW" }; int whiteSol = 0; for (int i = 0; i < 8; i++) { int row = startRow + i; for (int j = 0; j < 8; j++) { int col = startCol + j; if (board[row].charAt(col) != orgBoard[row % 2].charAt(j)) whiteSo..
2022.03.07