본문 바로가기

728x90

문제풀이

(34)
[Python] [프로그래머스] 예산 [문제 설명] S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완성해주세요. [제한사항] d는 부서별로 ..
[JAVA] [프로그래머스] 두 개 뽑아서 더하기 [문제] 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. [입출력예제] numbers result [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,5,7,9,12] 입출력 예 설명 입출력 예 #1 2 = 1 + 1 입니다. (1이 numbers에 두 개 있습니다.) 3 = 2 + 1 입니다. 4 = 1 + 3 입니다. 5 = 1 + 4 = 2 + 3 입니다. 6 = 2 + 4 입니다. 7 = 3 + 4 ..
[JAVA] Caesar Cipher [문제] 고전 암호학에서 사용하는 기법 중 "Caesar Cipher"는 암호화의 대상이 되는 각각의 문자들을 알파벳 상의 세번째 오른쪽 문자로 치환하는 간단한 치환 암호기법입니다. 예시 문자열에 대해 Caesar Chipher를 적용하여 암호화된 문자열 값을 아래 예제와 같이 출력되도록 완성하십시오. (단, 공백에 대해서는 치환을 적용하지 않습니다.) [입력예제] everyday we have is one more than we deserve [출력예제] hyhubgdb zh kdyh lv rqh pruh wkdq zh ghvhuyh [코드] private static void Prob1() { String caesar = "everyday we have is one more than we deserv..
[JAVA] 일차원 배열 오름차순 정렬 [문제] 주어진 일차원 배열의 내용을 오름차순으로 정렬하는 로직을 작성하시오. (반드시 이중 for문을 사용하여 구현해야 한다.) [실행예제] [배열의 내용] 3, 24, 1, 55, 17, 43, 5 [클래스 실행결과] 1, 3, 5, 17, 24, 43, 55 [코드] private static void mySort() { int[] arr = {3, 24, 1, 55, 17, 43, 5}; System.out.println("before : " + Arrays.toString(arr)); for(int i=0; i
[JAVA] 태어난 계절 [문제] 자신이 태어난 달을 명령행 매개변수로 받아서 어떤 계절에 태어났는지를 출력하는printSeason() 메서드를 구현하시오단, 반드시 switch문을 사용해야 하며1~12월이 아닌 달을 입력했을 경우 “1~12사이의숫자만 입력하셔야 합니다.”라는 문자를 출력하도록 해야 한다. (봄: 3, 4, 5월, 여름: 6, 7, 8월, 가을: 9, 10, 11월, 겨울12, 1, 2월) [실행예제] [명령행 매개 변수가 8일 경우] [실행 결과] 여름에 태어나셨네요. [명령행 매개 변수가 10일 경우] [실행 결과] 가을에 태어나셨네요. [명령행 매개 변수가 13일 경우] [실행 결과] 1~12 사이의 숫자만 입력하셔야 합니다. [코드] package com.kosta.day03; public class L..
[JAVA] 달의 마지막 날 구하기 [문제] 년도와 달을 입력받으면 해당 달의 마지막 날을 구하는 프로그램을 작성한다. 윤달의 조건과 달의 마지막날은 다음과 같다. * 4의 배수이고 100의 배수가 아니면 윤년 * 4의 배수이고 400의 배수이면 윤년 * 윤년이면 2월은 29, 아니면 28일 * 1, 3, 5, 7, 8, 10, 12 > 31일 * 4, 6, 9, 11 > 30일 [입력예제] 2021 2 [출력예제] 28 [코드] import java.util.Scanner; public class LeapYear { public static void switchTest(int year, int month) { int lastDay=31; switch(month) { case 2: if(year%4==0 && year%100 !=0 || ..
[C++] 3의 개수 구하기 [문제] 자연수 N이 입력되면 1부터 N까지의 자연수를 나열 할 때 3의 개수가 총 몇개인지 출력하는 프로그램을 만들어라. [입력예제] 15 [출력예제] 2 1부터 15까지는 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5으로 3의 개수는 총 2개이다. [코드 1] #include #include using namespace std; int main(int argc, const char * argv[]) { int n, count = 1, num, tmp; //1 cin >> n; //3 if(n>=13){ for(int i=13; i0){ tmp = num%10; if(tmp==3) count++; num/=10; } } } //4 if(n..
[C++] N!에서 0의 개수 [문제] 자연수 N을 입력받으면 N! 값에서 연속적으로 '0'이 몇 개 있는지 구하는 프로그램을 작성하시오. [입력예제] 12 [출력예제] 2 12!은 '479001600'으로 연속적으로 0이 2번 사용되었기에 2를 출력하였다. [코드] #include #include using namespace std; int main(int argc, const char * argv[]) { int n, num, div, two, five, res; //1 cin >> n; //2 for(int i=2; i

728x90
반응형