Java(160)
-
[Programmers] 택배 배달과 수거하기
https://school.programmers.co.kr/learn/courses/30/lessons/150369 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 혼자서는 도저히 구현 방법이 떠오르지 않아 질문하기를 들어가보니 굇수님께서 해설한 글이 있어서 이를 참고했다. https://school.programmers.co.kr/questions/43364 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers...
2023.05.02 -
[Programmers] 미로 탈출
https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 기본적인 BFS 문제이다. 문제는 복잡하지 않으므로 사이트 설명을 확인하기 바란다. 풀이 방법 기본적인 BFS 탐색을 활용하면 된다. BFS의 원리와 구현만 할 수 있다면 충분히 풀 수 있는 문제이다. 이외에 추가적인 알고리즘은 없으므로 코드로 확인하자. import java.util.*; class Solution { static int N, M; static int[] dx = {..
2023.05.01 -
[Programmers] 광물 캐기
https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문제가 상당히 길기 때문에 꼼꼼히 읽어야 한다. 우리는 광부가 되어 광산에서 광물을 캐야 한다. 주어지는 곡괭이 종류는 다이아, 철, 돌이며 캘 수 있는 광물도 마찬가지다. 각 곡괭이의 내구도는 5라서 광물 종류와 상관없이 5번을 캐면 더 이상 사용할 수 없다. 우리는 사람이기 때문에 작업을 하면 피로도가 쌓인다. 다이아 곡괭이는 너무 좋아서 어떤 광물을 캐든 피로도가 1만 쌓인다. ..
2023.04.28 -
[Baekjoon] 2212번: 센서
https://www.acmicpc.net/problem/2212 2212번: 센서 첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있 www.acmicpc.net 문제 설명 고속도로에 센서들이 설치되어 있다. 그리고 이 센서들 사이에 집중국을 세워서 센서에서 얻은 데이터를 처리한다고 한다. 최대 K개의 집중국을 설치할 수 있다고 할 때 각 집중국의 수신 가능영역 거리의 합의 최솟값을 구하는 프로그램을 작성해야 한다. 처음 문제를 보면 무슨 말인지 잘 모를 확률이 높으니 예제 입력 1을 가지고 그림으로 보자. 주어진 센서는 위와 같이..
2023.04.26 -
[Baekjoon] 11000번: 강의실 배정
https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si 2 4 5 --> 2 2 6 --> 3 으로 정렬되고 이를 알고리즘에 돌리면 결과는 3이 나온다. 이를 해결하려면 '시작하는 시간'을 기준으로 오름차순 정렬해야 한다. 그리고 힙 또는 우선순위 큐와 같..
2023.04.25 -
[Baekjoon] 1080번: 행렬
https://www.acmicpc.net/problem/1080 1080번: 행렬 첫째 줄에 행렬의 크기 N M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 행렬 A가 주어지고, 그 다음줄부터 N개의 줄에는 행렬 B가 주어진다. www.acmicpc.net 문제 설명 행렬 A와 B가 주어진다. 이 행렬은 모두 0 또는 1로 구성되어 있다. A를 B로 변환하는 최소 연산을 구해야 한다. 연산 방법은 0이면 1로, 1이면 0으로 3x3만큼 변환한다. 풀이 방법 간단하게 생각하면 간단하고 어렵게 생각하면 한없이 어려운 게 그리디 문제인 거 같다. [0, 0] 부터 한 칸씩 이동하면서 해당 칸이 B와 다르다면 해당 위치부터 3x3의 모든 칸을 반전시키면 된다. 그리고 마..
2023.04.24