코딩테스트
-
[프로그래머스] 땅따먹기_Java코딩테스트 2024. 5. 7. 14:38
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제1. 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있다. 2. 1행부터 땅을 밟으며 한 행씩 내려올 때, 얻을 수 있는 점수의 최댓값을 return하라.3. 단, 한 행씩 내려올 때, 같은 열을 연속해서 밟을 수 없는 특수 규칙이 있다.4. 행의 개수 N은 100,000 이하의 자연수5. 열의 개수는 4개이고, 땅(land)은 2차원 배열6. 점수 : 10..
-
[프로그래머스] 거스름돈_Java코딩테스트 2024. 5. 5. 15:30
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12907 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제1. 거슬러 줘야 하는 금액 n과 현재 보유하고 있는 돈의 종류 money가 매개변수로 주어질 때, n 원을 거슬러 줄 방법의 수를 1,000,000,007로 나눈 나머지 값을 return 하라.2. n은 100,000 이하의 자연수입니다.3. money.length ≦ 1004. 모든 종류의 화폐의 수는 무한하다. 문제 풀이ex) n = 5, money = [1, 2, 5]거스름..
-
[프로그래머스] 가장 먼 노드_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;..