일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 알고리즘공부
- 재테크
- 알고리즘 공부
- algorithmStudy
- 프로그래밍언어
- 백준알고리즘
- 책을알려주는남자
- 지혜를가진흑곰
- 경제
- 채권
- algorithmtraining
- 자바
- 자바스크립트
- 투자
- 독후감
- 성분
- 서평
- 돈
- 화장품
- 책알남
- 알고리즘트레이닝
- algorithmTest
- 독서
- 다독
- 주식
- C
- Java
- 프로그래머스 알고리즘 공부
- C++
- JavaScript
- Today
- Total
목록[Snow-ball]프로그래밍(컴퓨터)/Algorithm Training (92)
탁월함은 어떻게 나오는가?
문제 설명 머쓱이는 태어난 지 11개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음과 네 가지 발음을 조합해서 만들 수 있는 발음밖에 하지 못하고 연속해서 같은 발음을 하는 것을 어려워합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 * 1
문제 설명 수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다. 이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음식을 더 잘 먹을 수 있게 하려고 합니다. 이번 대회를 위해 수웅이는 음식을 주문했는데, 대회의 조건..
문제 설명 햄버거 가게에서 일을 하는 상수는 햄버거를 포장하는 일을 합니다. 함께 이를 하는 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 순서에 맞게 쌓여서 완성된 햄버거를 따로 옮겨 포장을 하게 됩니다. 상수가 일하는 가게는 정해진 순서(아래서부터, 빵-야채-고기-빵)로 쌓인 햄버거만 포장을 합니다. 상수는 손이 굉장히 빠르기 때문에 상수가 포장하는 동안 속 재료가 추가적으로 들어오는 일은 없으며, 재료의 높이는 무시하여 재료가 높이 쌓여서 일이 힘들어지는 경우는 없습니다. 예를 들어, 상수의 앞에 쌓이는 재료의 순서가 [야채, 빵, 빵,야채, 고기, 빵, 야채, 고기, 빵]일 때, 상수는 여섯 번째 재료가 쌓였을 때, 세번째 재료..
[개념과 원리] 동전 거스름돈(coin change) 문제는 가게에서 고객에게 돌려줄 거스름돈이 있을 때 고객이 받을 동전의 개수를 최소로 하여 거스름돈을 돌려주는 방법을 찾는 문제로, 동전 문제 또는 거스름돈 문제라고 한다. 사용 가능한 동전은 500원, 100원, 50원, 10원의 네 종류가 있다고 가정하자. 욕심쟁이 방법으로 동전 거스름돈 문제를 해결하는 가장 간단하고 효율적인 방법은 거스름돈의 액수를 초과하지 않는 조건하에서 단순히 액면가가 큰 동전부터 '욕심을 부려서' 최대한 사용해서 거스름돈을 만드는 것이다. [코드] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #include using namespace std; ..
문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 NxN 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)x(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다. 입력 첫째 줄에 N이 주어진다. N은 3의 거듭제곱이다. 즉 어떤 정수 k에 대해 N=3^k이며, 이때 1
문제 수직선 위에 N개의 좌표 X1, X2, ... , XN 이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수에 같아야 한다. X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'N를 출력해보자. 입력 첫째 줄에 N이 주어진다. 둘째 줄에는 공백 한 칸으로 구분된 X1, X2, ..., XN이 주어진다. 출력 첫째 줄에 X'1, X'2, ..., X'N을 공백 한 칸으로 구분해서 출력한다. 코드 C++ : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 #include #inc..
문제를 풀기전에 안정정렬(stable sort)에 대해서 알아보자. 정렬이란... 데이터의 집합을 어떠한 기준의 대소관계를 따져 일정한 순서로 줄지어 세우는 것이다. ex) 숫자의 오름차순, 내림차순 안정정렬(Stable Sort)이란... 정렬을 할 경우 같은값(중복값)의 숫자가 존재하더라도 먼저 들어온 값이 뒤에 들어온 값보다 앞쪽에 정렬되는 것을 뜻한다. 밑에 이미지를 참고해서 본다면 하트5와 스페이스5가 존재한다. 정렬을 하게되면 [2, 5, 5, 7]로 정렬이 되지만, 무조건 먼저 들어온 하트5가 2번째자리에 정렬하게 된다. 쉽게 생각하자면 먼저들어온 값은 먼저 정렬된다는 보장을 해주는 것이 Stable Sort이다. ex) [하트2, 하트5, 스페이스5, 스페이스7] Stable Sort 알고..
문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 1. 길이가 짧은 것부터 2. 길이가 같으면 사전 순으로 입력 첫째 줄에 단어의 개수 N이 주어진다. (1