본문 바로가기

알고리즘84

[프로그래머스 / 자바] - 연속된 수의 합 연속된 수의 합 - LV.0문제정수 num과 total이 매개변수로 주어집니다.연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다.연속된 수 num개를 더한 값이 total이 될 때,정수 배열을 오름차순으로 담아 출력하는 문제입니다.테스트 (인텔리제이)입출력 예에서 발견한 사실이 num이 홀수인 경우  total / num을 하면 연속된 수의 중간 나온다는 것을 발견할 수 있었습니다.여기에 num - 1의 값에 2를 나눈 몫을 뺴면 연속된 숫자의 시작을 알 수 있습니다.이제 num만큼 반복하는 for문을 만들고 answer에 시작하는 숫자부터 하나씩 증가하게 하여 담아주면 됩니다.package com.namji.codingtest;import java.util.Arrays;public c.. 2024. 9. 27.
[프로그래머스 / 자바] - 코드 처리하기 코드 처리하기 - LV.0문제문자열 code가 매개변수로 주어집니다.code를 앞에서부터 읽으면서 만약 문자가 "1"이면 mode를 바꿉니다.mode에 따라 code를 읽어가면서 문자열 ret을 만들어냅니다.mode는 0과 1이 있으며, idx를 0 부터 code의 길이 - 1 까지 1씩 키워나가면서code[idx]의 값에 따라 다음과 같이 행동합니다. mode가 0일 때 code[idx]가 "1"이 아니면 idx가 짝수일 때만 ret의 맨 뒤에 code[idx]를 추가합니다.code[idx]가 "1"이면 mode를 0에서 1로 바꿉니다. mode가 1일 때code[idx]가 "1"이 아니면 idx가 홀수일 때만 ret의 맨 뒤에 code[idx]를 추가합니다.code[idx]가 "1"이면 mode를 1.. 2024. 9. 26.
[프로그래머스 / 자바] - PCCE 기출문제 1번 문자 출력 PCCE 기출문제 1번 문자 출력 - LV.0문제테스트 (인텔리제이)우선 3 빈칸 2 빈칸 1이 먼저 출력되고 message가 그 다음에 출력되기 때문에message에는 Let's go!를 넣어줘야 하고숫자 사이에는 줄바꿈 해주는 \n을 넣어주면 됩니다.package com.example.codingtest;public class PCCE_기출문제_1번_문자_출력 { public static void main(String[] args) { /* 주어진 코드는 변수에 데이터를 저장하고 출력하는 코드입니다. 아래와 같이 출력되도록 빈칸을 채워 코드를 완성해 주세요. 입출력 예 3 2 1 Let's go!.. 2024. 9. 25.
[프로그래머스 / 자바] - 예산 예산 - LV.1문제정수 배열 d와 정수 budget이 매개변수로 주어집니다. S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 soluti.. 2024. 9. 24.
[프로그래머스 / 자바] - 등수 매기기 등수 매기기문제2차원 정수 배열 score가 매개변수로 주어집니다. 영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 score가 주어질 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 출력하는 문제입니다.테스트 (인텔리제이)우선 평균을 저장할 avg 배열을 생성합니다. 여기서 avg를 double 배열로 선언한 이유는 평균 값에 소수점이 나올 수 있기 때문입니다.이후 for문으로 score의 크기 만큼 반복하도록 설정하고avg에 score의 각 원소의 첫 번째 원소와 두 번째 원소를 더하고 그 값의 2.0을 나눈 몫을 저장하도록 합니다.이제 각 점수의 평균을 저장하고 있는 avg의 값을 하나씩 꺼내기 위해 반복 횟수 i.. 2024. 9. 23.