java

    [프로그래머스] 기능개발

    [프로그래머스] 기능개발

    https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 위 문제를 해결하는 방법은 두 가지가 있습니다. 첫 번째 - 큐 두 번째 - 배열 저는 문제를 빠르게 해결하기 위해 그냥 배열로 풀었습니다. (이게 편하거든요) [완전 탐색] import java.util.*; class Solution { public int[] solution(int[] progresses, int[] speeds) { int comp..

    프로그래머스 타겟 넘버

    프로그래머스 타겟 넘버

    https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr DFS (깊이 우선 탐색)을 이용하여 음수 양수의 경우를 고려해 그래프 탐색을 해주면 됩니다. 시작점을 0으로한 dfs 시작 만약 리프 노드가 아니라면 idx+1을 해주고, 현재 노드의 값과 누적 합계를 더한다. 음수 양수 dfs를 돌려준다. 만약 리프 노드이면서 찾으려는 값을 찾았다면 count 값을 증가 한다. dfs가 종료 되고 나면..

    프로그래머스 두 개 뽑아서 더하기

    프로그래머스 두 개 뽑아서 더하기

    프로그래머스 두 개 뽑아서 더하기 내가 푼 풀이 import java.util.*; class Solution { public int[] solution(int[] numbers) { Arrays.sort(numbers); ArrayList list = new ArrayList(); for(int i=0; i

    프로그래머스 실패율

    프로그래머스 실패율

    프로그래머스 실패율 풀이 개인적으로 지금까지 푼 프로그래머스 문제 중 제일 오래 걸렸다 예외 잡느라 -_-... 정렬은 많이 약하구나 느꼈고 정렬도 많이 연습해야 겠다 소요 시간 약 1시간 30분 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; class Solution { public static int[] solution(int N, int[] stages) { int[] answer = new int[N]; Arrays.sort(stages); Map stageRatio = new HashMap(); for(int i=1; i stages[stag..

    백준 촌수 계산(2644)

    백준 촌수 계산(2644)

    촌수 계산(2644) 풀이 bfs를 통해 깊이를 세주면 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; class FastScanner { BufferedReader br; StringTokenizer st; public FastScanner() { br = new BufferedReader(new InputStreamReader(System.in)); } String next() { while (st == null || !st..

    백준 볼링 점수 계산(17215)

    백준 볼링 점수 계산(17215)

    볼링 점수 계산 (17215) 문제 소현이는 친구들과 함께 볼링을 치러 볼링장에 갔다. 그런데 볼링장의 시스템 오류로 인해 점수판에 점수가 집계 되지 않는 문제가 있었다. 밖이 너무 추운 나머지 소현이와 친구들은 그냥 치기로 하였고 1게임이 끝났지만 각자 점수가 얼마나 되는지를 계산하지 못하고 있다. 소현이와 친구들을 위해 볼링 점수를 계산해주는 프로그램을 작성해 보자. 볼링 규칙 1게임은 총 10프레임으로 구성되어 있다. 각 프레임마다 볼링핀 10개를 세워두고 공으로 쓰러뜨리는 것이며 기본적으로 볼링핀 1개당 1점이다. 각 프레임마다 2번의 기회가 주어지며 첫 번째 기회에 10개의 핀을 모두 쓰러뜨리는 것을 스트라이크(S)라고 한다. 두 번째 기회까지 사용하여 10개의 핀을 쓰러뜨리는 것을 스페어(P)..