CodingTest(64)
-
백준 2579, 계단 오르기
1. 문제 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 2. 문제요약 계단 오르기 규칙 계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음 계단이나, 다음 다음 계단으로 오를 수 있다. 연속된 세 개의 계단을 모두 밟아서는 안 된다. 단, 시작점은 계단에 포함되지 않는다. 마지막 도착 계단은 반드시 밟아야 한다. 위의 계단 오르기 규칙을 준수하면서 계단 오르기 게임에서 얻을 수 있는 점수의 최댓값을 출력 계단..
2021.10.06 -
백준 1149, RGB 거리
1. 문제 https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 2. 문제요약 N개의 집을 R,G,B의 색상 중 하나로 칠하여야 합니다. 각각의 집을 칠하는 R,G,B 색상이 주어졌을 때 모든 집을 칠하는 최소 비용을 계산하여야 합니다. 색상을 칠하는 규칙은 다음과 같습니다. 1번집과 2번집의 색은 달라야 합니다. N번집과 N-1번집의 색은 달라야 합니다. i(2
2021.10.05 -
백준 15649, N과 M (1)
문제 문제요약 1. 1~N까지의 자연수 중에서 M개를 고른 수열을 출력하십시오. 문제풀이 순열을 출력하기 위해서 아래 가지치기와 같은 과정을 수행합니다. 위의 그림과 같이 순열을 생성하는 과정은 재귀적으로 수행되어야 합니다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class Main { static int N, M; static List permutation = new ArrayList(); static boolean[] chosen; public static void..
2021.09.22 -
백준 2193, 이천수
문제 https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 문제풀이 n pinary number output 1 1 1 2 10 1 3 100, 101 2 4 1000, 1001, 1010 3 5 10000, 10001, 10010, 10100, 10101 5 6 100000, 100001, 100010, 100100, 100101, 101000, 101001, 101010 8 n의 수에 따른 n자리의 이천수의 개수는 피보나치 수를 따르는..
2021.09.13 -
백준 11653, 소인수분해
문제 https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 문제요약 1. 정수 n이 주어졌을때 n에 대한 소인수분해 인수들을 출력합니다. 문제풀이 1. 정수 n이 1이 될때 소인수분해는 종료되고 나누는 수는 소수이므로 해당 소수로 n이 나누어지는 경우 해당 소수를 출력하고 n을 나눕니다. 2. 만약 해당 소수로 나누어지지 않으면 나누는 수를 증가시켜 1번 과정을 반복수행합니다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public cla..
2021.09.08 -
프로그래머스 위클리 챌린지 6주차
문제 https://programmers.co.kr/learn/courses/30/lessons/85002 코딩테스트 연습 - 6주차 복서 선수들의 몸무게 weights와, 복서 선수들의 전적을 나타내는 head2head가 매개변수로 주어집니다. 복서 선수들의 번호를 다음과 같은 순서로 정렬한 후 return 하도록 solution 함수를 완성해주세요 programmers.co.kr 문제요약 1. 복서들의 승률, 자기보다 무거운 선수를 이긴 횟수, 몸무게, 번호 정보를 활용하여 복서들을 정렬합니다. 2. 정렬의 기준은 아래와 같습니다. 승률이 높은 사람 자기보다 무거운 선수를 이긴 횟수가 많은 사람 몸무게가 더 무거운 사람 선수 번호가 작은 사람 3. 아직 다른 복서랑 붙어본적이 없는 복서의 승률은 0%..
2021.09.08