전체 글
-
[프로그래머스] 가장 먼 노드_Java코딩테스트 2024. 5. 5. 00:41
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제1. 1부터 n까지 n개의 노드가 있는 그래프에서 1번 노드에서 가장 멀리 떨어진 노드의 개수를 구하라.2. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미한다.3. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수가 주어진다.4. 노드의 개수 n은 2 이상 20,000 이하이다.5. 간선은 양방향이며 총 1개 이상 ..
-
[프로그래머스] k진수에서 소수 개수 구하기_Java코딩테스트 2024. 5. 3. 21:19
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/92335# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제1. 양의 정수 n을 k진수로 변환하여 소수의 개수를 모두 return하라.2. 소수의 조건은 아래와 같다.3. 소수를 판단하는 기준은 k진법으로 보았을 때가 아닌 10진법으로 보았을 때를 만족해야 한다.4. 1 ≤ n ≤ 1,000,000 3 ≤ k ≤ 10 문제 풀이1. Integer.toString(int, int)를 이용하여 정수 n을 k진법의 수로 변환하여 "0"을 기..
-
[프로그래머스] n^2 배열 자르기_Java코딩테스트 2024. 5. 3. 15:44
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/87390?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이1. n행 n열 크기의 비어있는 2차원 배열을 만들고, 행과 열 중 큰 수의 값으로 채운다.2. 2차원 배열을 잘라 붙여 1차원 배열로 만든다.3. 주어진 left값을 시작 index로, right를 마지막 index로 하여 새로운 배열을 만들어 반환한다. 코드right와 left 값의 차를 이용하여 배열을 생성한다.2차원 배열에서의 행과 열을 구해, ..
-
[백준] 1149 RGB거리_Java코딩테스트 2024. 5. 1. 21:07
문제 링크https://www.acmicpc.net/problem/1149 문제 풀이1. 1번 집부터 N번 집이 순서대로 있다.2. 집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야 한다. 각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어졌을 때, 모든 집을 칠하는 비용의 최솟값을 구해보자.3. 인접하는 집의 색은 같은 색으로 칠할 수 없다. 코드DP알고리즘을 이용하여, i번째 집을 빨강, 초록, 파랑 색으로 칠할 경우 최소 비용을 구하는 것을 반복하여 N번째 집까지 칠하는 최소 비용을 구한다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Strin..
-
[백준] 11659 구간 합 구하기 4_Java코딩테스트 2024. 5. 1. 19:39
문제 링크https://www.acmicpc.net/problem/11659 문제 풀이1. 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다.2. 총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다. 코드누적합 알고리즘을 이용하여 구간의 합을 구한다.여러 번 출력해야 하는 경우 BufferedWriter를 이용하여 한번에 출력하는 것이 성능이 더 좋다.import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;imp..
-
[백준] 5532 방학 숙제_Java코딩테스트 2024. 5. 1. 19:10
문제 링크https://www.acmicpc.net/problem/5532 문제 풀이1. 겨울 방학 동안 숙제를 하지 않고 놀 수 있는 최대 날의 수를 구하여라.2. 방학일수 L, 풀어야 하는 국어 총 페이지 A, 풀어야하는 수학 총 페이지 B, 하루에 최대로 풀 수 있는 국어 페이지 C, 하루에 최대로 풀 수 있는 수학 페이지 D. (2 ≤ L ≤ 40, 1 ≤ A, B ≤ 1000, 1 ≤ C, D ≤ 100)3. 국어와 수학은 하루에 같이 풀 수 있다. 코드 쉬는 날을 최대로 늘리기 위해서는 두 과목 숙제를 최대한 같은 날에 해야한다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;..
-
[백준] 16199 나이 계산하기_Java코딩테스트 2024. 5. 1. 18:50
한국에서 나이는 총 3가지 종류가 있다. 문제 링크https://www.acmicpc.net/problem/16199 문제 풀이1. 만 나이, 세는 나이, 연 나이를 구하여 출력하라.만 나이 : 생일을 기준으로 하여, 태어난 후 0살부터 생일이 지날 때마다 1살씩 증가시켜 계산한다. 세는 나이 : 연도를 기준으로 하여, 태어난 후 1살부터 연도가 바뀔 때 마다 1살씩 증가시켜 계산한다.연 나이: 연도를 기준으로 하여, 태어난 후 0살부터 연도가 바뀔 때 마다 1살씩 증가시켜 계산한다.2. 입력 값 코드1 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Strin..
-
[프로그래머스] 할인 행사_Java코딩테스트 2024. 4. 29. 20:10
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/131127# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이1. 원하는 제품을 나타내는 문자열 배열 want, 원하는 제품의 수량을 나타내는 정수 배열 number, 할인하는 제품을 나타내는 문자열 배열 discount가 주어진다. 2. XYZ 마트는 일정한 금액을 지불하면 10일 동안 회원 자격을 부여한다. 회원을 대상으로 매일 한 가지 제품을 할인하며 제품은 하루에 하나씩만 구매할 수 있다.3. 원하는 제품과 수량이 할인하는 날..