프로그래머스(31)
-
[프로그래머스 17682] 다트 게임(Lv 1) 문제 풀이- 파이썬 python
0. 자세한 설명은 YouTube 영상으로 1. 단순구현 + 문자열 유형 풀이 def solution(dartResult): # 0. 입력 및 초기화 scores = [] start_idx = 0 power = {'S' : 1, 'D' : 2, 'T' : 3 } # 1. dartResult 별로 처리 for i in range(len(dartResult)): op = dartResult[i] if op in power: scores.append(int(dartResult[start_idx:i]) ** power[op]) elif op == '*': scores[-2:] = [x * 2 for x in scores[-2:]] elif op == '#': scores[-1] = -scores[-1] if n..
2023.01.19 -
[프로그래머스] 숫자 카드 나누기 문제 풀이(코딩테스트 입문 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. 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 -
[프로그래머스] 기능개발 문제 풀이(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 -
[2022 카카오 코딩테스트] 신고 결과 받기 - 자바 java (Hash, 해시)
0. 자세한 설명은 YouTube 영상으로 1. Hash를 활용한 solution import java.util.*; class Solution { public int[] solution(String[] id_list, String[] report, int k) { int[] answer = new int[id_list.length]; // 1. 중복 제거 HashSet reportSet = new HashSet(); for (String rep : report) reportSet.add(rep); // 2. report에서 각 사람이 신고당한 횟수를 countHash으로 정의하기 HashMap notifyListHash = new HashMap(); for (String rep : reportSet){..
2022.02.16