코딩테스트 (8) 썸네일형 리스트형 [ 프로그래머스, Lv2 ] [ JAVA ] 멀리뛰기 - DP 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 안녕하세요 ( •̀ ω •́ )✧ 오늘은 프로그래머스의 Level 2 문제 멀리뛰기를 풀어보았습니다 ! 멀리뛰기 문제는 DP로 해결할 수 있었는데, DP에 대해 지난 글에서 다뤘기 때문에 설명이 필요하신 분들은 참고하시면 좋을 것 같습니다. [ 알고리즘 ] DP(Dynamic Programming) - 동적계획법 안녕하세요 ! 이번 글에서는 DP를 알아보도록 하겠습니다. DP란? 큰 문제를 작은 문제로 나눠서 해결하는 방법을 말합니다. 주어진 문제에서 반복되는 작은 문제를 찾고, 이를 해결하면 큰 문제가 pr.. [프로그래머스, Lv2][JAVA] 카펫 https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 안녕하세요 ( •̀ ω •́ )✧ 오늘은 프로그래머스의 Level 2 문제 카펫을 풀어보았습니다 ! > Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다. Leo가 본 카펫에.. [백준 13164번][JAVA] 행복 유치원 https://www.acmicpc.net/problem/13164 13164번: 행복 유치원 행복 유치원 원장인 태양이는 어느 날 N명의 원생들을 키 순서대로 일렬로 줄 세우고, 총 K개의 조로 나누려고 한다. 각 조에는 원생이 적어도 한 명 있어야 하며, 같은 조에 속한 원생들은 서로 www.acmicpc.net 문제를 간단히 요약해보자면 원생의 수 n을 입력받고, n명을 나눌 조의 개수 k개를 입력받습니다. 두번째 줄에는 원생을 키순서로 입력받습니다. 원생 n명을 k개의 조로 나눴을 때 각 조의 가장 큰 키와 작은 키의 차이를 더한 값이 최소가 되도록 나눠주고, 구한 최솟값을 출력해줍니다. import java.util.Arrays; import java.util.Scanner; public cla.. [백준 10828번] [JAVA] 스택 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제를 간단히 요약해보자면 Stack의 특성인 FILO를 이용한 동작 명령어들을 입력받습니다. 각 연산에 해당하는 출력값을 출력해줍니다. pop과 empty, top의 조건에 유의하여 출력해줍니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ja.. [백준 1076번] [JAVA] 저항 https://www.acmicpc.net/problem/1076 1076번: 저항 첫째 줄에 첫 번째 색, 둘째 줄에 두 번째 색, 셋째 줄에 세 번째 색이 주어진다. 위의 표에 있는 색만 입력으로 주어진다. www.acmicpc.net 문제를 간단히 요약해보자면.. black부터 white까지의 array 중에서 색깔을 차례로 세번 입력받습니다. (첫번째 색 * 10 + 두번째 색 ) * (10**세번째 색)을 출력해주면 됩니다. import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { // 입력값을 저장해서 .. [백준 2164번] [JAVA] 카드 2 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 문제를 요약하자면.. 카드 장수인 N을 입력받아야합니다. 1부터 N까지의 번호가 적힌 카드 N장을 가장 큰 수부터 바닥에 깔아서 쌓아올렸다고 생각했을 때, 1) 맨 윗장은 버리고 2) 버린 후의 맨 윗장은 가장 바닥에 깔아준다. 위와 같은 패턴을 반복하다가 1장이 되었을 때 마지막 카드의 번호를 출력해야합니다. 이번 문제는 Queue를 이용하여 풀어야했습니다. Queue는 FIFO의 선입선출이라는.. [백준 1049번] [JAVA] 기타줄 https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net 문제를 요약하자면.. 첫번째 줄에서 끊어진 기타줄 개수 N과 기타줄 브랜드 M개를 입력 받고, 두번째 줄부터는 M개 브랜드의 6줄 세트 가격과 낱개 1줄 가격을 입력받아야합니다. N개를 어떻게 하면 가장 최소의 가격으로 살 수 있을까를 출력하면됩니다. 이번 문제를 해결하는데에 if문을 이용하여 크게 N이 6개로 나누어 떨어졌을 경우와 그렇지 않은 경우를 나눠주었습니다. 1) 나누어 떨어졌을 때.. [백준 2751번] [JAVA] 수 정렬하기 2 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 반복할 횟수 N을 입력받고 두번째줄부터 array에 들어갈 숫자들을 입력받아 오름차순 정렬하여 하나씩 출력해야하는 문제였습니다. 처음에 제출한 코드는 시간초과가 떠서 틀렸습니다.. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays.. 이전 1 다음