알고리즘 778

프로그래머스 택배 배달과 수거하기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/150369 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 구현을 통해 문제를 해결하였습니다. 수거해야하는 것과 배달해야하는 것 중에 긴 것을 찾고 그 거리의 두배를 결과값으로 추가하였습니다. 둘 중 더 먼 곳까지 가면서 배달을 먼저하고 그 다음 수거를 하면 되기 때문에 위와 같은 방식으로 문제를 해결하였습니다. class Solution { private static final int NOT_FOUND = -1; public long soluti..

알고리즘 2023.08.11

프로그래머스 파괴되지 않은 건물 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/92344 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 2차원 누적합을 통해 문제를 해결했습니다. 누적합을 통해 해당 구간에 얼마를 더해야하는지를 저장하였고, board와 더해서 양수라면 answer을 하나 늘리면서 문제를 해결하였습니다. class Solution { private static final int ATTACK = 1; private static final int HEAL = 2; public int solution(int[][] ..

알고리즘 2023.08.10

프로그래머스 양궁대회 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/92342 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 dfs를 통해 문젤르 해결하였습니다. 라이언이 해당 depth(점수)에 몇개를 넣을 지를 결정하였고, 라이언이 가장 큰 점수 차이로 우승할 수 있는 방법이 여러개라면, 가장 낮은 점수를 많이 맞친 경우를 return 해야하기 때문에 저는 남은 화살은 전부 0에 넣도록 구현하였습니다. 그리고 결과값의 초기화는 같은 점수 차라면 배열의 뒤 (점수가 낮은 부분) 부터 개수를 비교하여 더 큰쪽으로 ..

알고리즘 2023.08.09

프로그래머스 신고 결과 받기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 구현을 통해 문제를 해결하였습니다. id_list를 통해 각 이름에 따른 번호를 매기고, 2차원 배열을 통해 누가 누구를 신고하였는지를 저장하였습니다. 2차원 배열을 돌면서 한 사람이 얼마나 신고당했는지를 확인하고 이 값이 k보다 큰 사람을 체크하고 이를 신고한 사람의 수를 체크하여 문제를 해결하였습니다. import java.util.*; class Solution { public int[..

알고리즘 2023.08.08

프로그래머스 주차 요금 계산 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 구현을 통해 문제를 해결하였습니다. Map을 통해 각각의 차량의 주차한 시간을 구하였고, 다른 Map을 통해 들어온 시간을 체크하였습니다. 이를 통해 들어오고 나가지 않은 것은 마지막에 23:59에 나간것으로 체크하도록 구현하였고, 각각의 주차시간을 통해 요금을 구하여 문제를 해결하였습니다. import java.util.*; class Solution { private static fina..

알고리즘 2023.08.07

프로그래머스 k진수에서 소수 개수 구하기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 구현을 통해 문제를 해결하였습니다. k진수로 변경 후 0을 기준으로 문자열을 나누고 각각의 문자열이 소수인지를 확인하였습니다. class Solution { public int solution(int n, int k) { String s = changeString(n,k); int answer = countPrime(s); return answer; } private static String..

알고리즘 2023.08.06

프로그래머스 코딩 테스트 공부(JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/118668 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 우선순위 큐를 통해 문제를 해결하였습니다. 우선운위 큐를 통해 최소 시간을 찾고 해당 코딩력과 문제력으로 모든 문제를 풀 수 있는지를 판단하고 풀 수 있다면 그 시간을 결과로 리턴하여 문제를 해결하였습니다. import java.util.*; class Solution { private static final int alp_req_INDEX = 0; private static final int ..

알고리즘 2023.08.05

프로그래머스 등산코스 정하기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/118669 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 우선순위 큐를 통해 문제를 해결하였습니다. 우선순위 큐를 통해 intensity가 낮은 값부터 나오게 그래프를 탐색하였습니다. 이때 intensity가 같으면 낮은 봉우리 값이 나와야 하는 조건을 어길 수 있습니다. 그래서 산봉우리라면 answer을 초기화하고 answer의 intensity보다 현재 intensity가 크다면 while문을 종료하도록 하여 문제를 해결하였습니다. impor..

알고리즘 2023.08.04

프로그래머스 성격 유형 검사하기 (JAVA)

https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 저는 구현을 통해 문제를 해결하였습니다. 저는 map을 통해 각각의 점수를 저장하였고, 각각의 지표의 점수를 보면서 결과값을 만들어 문제를 해결하였습니다. import java.util.*; class Solution { private static final int HALF_SCORE = 4; private static final char[][] CHARACTER = {{'R','T'}, {'C..

알고리즘 2023.08.03

백준 1051번 숫자 정사각형 (JAVA)

https://www.acmicpc.net/problem/1051 1051번: 숫자 정사각형 N×M크기의 직사각형이 있다. 각 칸에는 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 www.acmicpc.net 저는 구현을 통해 문제를 해결하였습니다. 이중 for문을 사용하여 모든 정사각형의 끝 부분이 같은지를 확인하였습니다. package BOJ.etc; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; import java.util.function.Function; publi..

알고리즘 2023.08.02