본문 바로가기

프로그래머스33

콜라츠 추측 / 프로그래머스 연습문제 / programmers / level1 / Java https://programmers.co.kr/learn/courses/30/lessons/12943 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2 programmers.co.kr 이번문제는 콜라츠 추측이다. 콜라츠라는 사람이 제기했다는데, 뭐 특정 조건을 반복하면 1이 나온다는 것이다. 그래서 몇 번 안에 결과가 나오는지에 대한 건데, 요건 그냥 문제를 보고 그 알고리즘을 그대로 구현하려고만 해도 금방 맞출 수 있는 수준이다. [규칙] 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수.. 2021. 8. 1.
제일 작은 수 제거하기 / 프로그래머스 연습문제 / programmers / level1 / Java https://programmers.co.kr/learn/courses/30/lessons/12935 코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1 programmers.co.kr 이번 문제는 최소값을 찾는 방법에 대한? 문제라고 보면 될 것 같다. 최소값을 찾을때는 몇가지 방법이 있는데 1. 정렬을 직접 구현 2. Sort함수를 사용 3. Stream을 이용 1번과 2번은 몇 번 해봐서 이번에는 스트림을 사용해 보았다. [작성코드] import java.util.Arrays; public .. 2021. 7. 31.
예산 / 프로그래머스 연습문제 / programmers / level1 / Java https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 이번건 연습문제 수준이라 간단하게 작성하고 넘어간다. 예산을 배분할 수 있는 최대 부서 개수를 리턴하는 알고리즘인데, 단순히 Sort를 하여 오름차순으로 정렬 후 배열의 길이만큼 반복하면서 예산이 0이 될때까지 부서의 갯수를 더해주면 된다. [작성코드] package com.level01; import java.util.Arrays; public class Budg.. 2021. 7. 30.
3진법 뒤집기 / 프로그래머스 연습문제 / programmers / level1 / Java https://programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 이번 문제의 핵심은 진수에 대해 이해하는 것이다. 10진수를 n진수로 변환하는 과정은 해당 숫자가 0이 되기전까지 n으로 나눈 나머지를 차례대로 적고, n으로 나눈 수를 계속 n으로 나누면서 과정을 반복하면 된다. 10진수 45를 3진수로 변환하는 예시 45 / 3 = 15 ... 나머지 0 15 / 3 = 5 .... 2021. 7. 29.