ALGORITHM/프로그래머스 | 백준 | 삼성 | 카카오 87

[SWEA] 5215. 햄버거 다이어트

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWT-lPB6dHUDFAVT SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 설명 : 정해진 칼로리 이하의 조합 중에서 민기가 가장 선호하는 햄버거를 조합해주기 조건 : 단 여러 재료를 조합하였을 햄버거의 선호도는 조합된 재료들의 맛에 대한 점수의 합으로 결정되고, 같은 재료를 여러 번 사용할 수 없으며, 햄버거의 조합의 제한은 칼로리를 제외하고는 없다. 문제 풀이 : 조합을 활용하여 모든 경우를 다 탐색한다. 즉 모든 경우를 중복 없이 뽑는다. 제한된 칼로리 이하 중..

[백준] 10974번 모든 순열

www.acmicpc.net/problem/10974 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net import java.util.Scanner; class Main { static int N; static int[] arr; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); arr = new int[N]; int number = 1; for(int i=0; i

[프로그래머스] 쇠막대기

https://programmers.co.kr/learn/courses/30/lessons/42585 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 목표 : 여러 개의 쇠막대기에서 레이저로 자른 후 개수 구하기 조건 : (a) 레이저는 여는 괄호와 닫는 괄호의 인접한 쌍 '( )'으로 표현합니다. 또한 모든 '( )'는 반드시 레이저를 표현합니다. (b) 쇠막대기의 왼쪽 끝은 여는 괄호 '('로, 오른쪽 끝은 닫힌 괄호 ')'로 표현됩니다. 스택 활용. 배열에서 처음부터 끝까지 확인하며 1. ( 일 경우 스택에 삽입해준다. 2. ) 일 경우 2-1. 이전..

[프로그래머스] 프린터

https://programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 목표 : 중요도가 순서대로 담긴 배열 priorities와 위치 location이 있을 때, 요청한 문서가 몇 번째로 인쇄되는 지 구하기 조건 : 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합니다. 프린터 대기목록에 중요도가 높은 문..

[프로그래머스] 주식가격

https://programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 목표 : 가격이 떨어지지 않은 기간은 몇 초인지 구하기 prices 배열 끝까지 돌면서 각각 떨어지지 않은 횟수를 세준다. 가격이 떨어진 경우(이중포문을 사용하여 i 보다 j가 작은경우) 반복문을 멈춘다. 주의 : 3초 시점의 ₩3은 1초뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은 것으로 봅니다. (떨어졌을 때도 횟수를 세주어야 한다.) class Solution { public int[] s..

[백준] 13335번 트럭

https://www.acmicpc.net/problem/13335 13335번: 트럭 문제 강을 가로지르는 하나의 차선으로 된 다리가 하나 있다. 이 다리를 n 개의 트럭이 건너가려고 한다. 트럭의 순서는 바꿀 수 없으며, 트럭의 무게는 서로 같지 않을 수 있다. 다리 위에는 단지 w 대의 트럭만 동시에 올라갈 수 있다. 다리의 길이는 w 단위길이(unit distance)이며, 각 트럭들은 하나의 단위시간(unit time)에 하나의 단위길이만큼만 이동할 수 있다고 가정한다. 동시에 다리 위에 올라가 있는 트럭들의 무게의 합은 다리의 최 www.acmicpc.net 목표 : 모든 트럭들이 다리를 건너는 최단시간 구하기 조건 : 다리 길이만큼만 트럭이 올라갈 수 있는데, 트럭의 무게의 합이 다리의 최대..

[백준] 10026번 적록색약

https://www.acmicpc.net/problem/10026 10026번: 적록색약 문제 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. (색상의 차이를 거의 느끼지 못하는 경우도 같은 www.acmicpc.net 목표: 적록색약인 사람과 아닌 사람이 봤을 때의 구역의 수 구하기 2차원 배열, 4방 탐색 DFS 활용 적록색약인 사람은 G과 R이 구..

[백준] 3985번 롤케이크

https://www.acmicpc.net/problem/3985 3985번: 롤 케이크 문제 인기 티비 프로그램 "나는 요리사 인가?"의 새 시즌이 시작한다. 이번 시즌은 기네스북에 등재될 만한 음식을 만드는 것을 목표로 진행한다. 첫 번째 에피소드에 출연하는 요리사는 전설의 요리사 김상근이고, 길이 L미터의 롤 케이크를 만들 것이다. 상근은 몇 시간동안 집중해서 케이크를 만들었고, 이제 스튜디오의 방청객 N명에게 케이크를 나누어 주려고 한다. 상근이는 롤 케이크를 펼쳐서 1미터 단위로 잘라 놓았다. 가장 왼쪽 조각이 1번, 오른쪽 조각이 www.acmicpc.net 목표: 가장 많은 케이크 조각을 받을 것으로 기대한 방청객의 번호와 실제로 가장 많은 케이크 조각을 받는 방청객의 번호를 구하기 impo..

[백준] 2577번 숫자의 개수

https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다. www.acmicpc.net 목표: 세 개의 자연수가 주어질 때 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지 구하기 입력 받은 숫자를 계산하고 check 배열의 인덱스를 사용해서 숫자가 각각 몇 번 쓰였는지 출력 import java.util.Scanner; public class Main{ public static void main(String[] args) { int A,B,C; Scanner sc = new Scanner(System.in); A = sc.nextInt()..

[백준] 2999번 비밀 이메일

https://www.acmicpc.net/problem/2999 2999번: 비밀 이메일 문제 매일 밤, 정인이는 상근이에게 이메일을 보낸다. 정인이는 자신의 이메일이 해킹당할 수도 있다는 생각에, 내용을 항상 암호화해서 보낸다. 정인이가 사용하는 암호 알고리즘은 다음과 같다. 정인이가 보내는 메시지는 총 N글자이다. 먼저, 정인이는 R