Tiny Bunny
본문 바로가기

programmers

(85)
프로그래머스 0단계 분수의 덧셈 (Java 자바) 풀이분수의 덧셈 과정을 코드로 변환하는 것과 같다. 조건이 기약분수일 경우 최대공약수를 구하는 것을 기억할 것. 분모와 분자 중 어떤 게 더 큰 값인지 알 수 없으므로 && 연산자를 사용하여 max 값을 찾는다. max를 찾으면 최대공약수를 업데이트 하고 약분을 한다. 그 값을 배열에 넣으면 끝. 원래는 맨 위에 있던 int[] answer = { }; 를 아래쪽으로 옮겼다. 1. 분수의 덧셈을 위해 통분한다. 통분 결과를 저장할 변수 numer, denom을 생성한다.int numer = numer1 * denom2 + numer2 * denom1;int denom = denom1 * denom2;  2. 최대공약수를 구한다 for (int i=1; i  3. 약분한다.numer = numer/max;..
프로그래머스 0단계 양꼬치 (Java 자바) 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr      풀이양꼬치 + 음료수 = 총합이므로 먼저 n * 12000 + k * 2000이다. 여기서 양꼬치를 10인분 먹었을 때 음료수 한 개가 공짜이므로 k에서 양꼬치 n을 10으로 나눴을 때 나머지가 0이 되는 것을 빼야 한다.  전체 코드 (오답) *아래에 정답 코드가 있다.class Solution { public int solution(int n, int k) { int answer = 0; if (n == 10) { answer = n * 12000 + (k-1) * 2000; ..
프로그래머스 1단계 약수의 합 (Java 자바) 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr      풀이정수 n의 약수를 구하는 방법은 1부터 n까지 어떤 값으로 나눴을 때 나머지가 0이 되면 그 수는 정수 n의 약수임을 뜻한다. 예를들면 정수 10이 있다고 가정하자. 10을 1, 2, 5, 10으로 나누면 나머지가 0이고 1, 2, 5, 10은 곧 10의 약수라는 의미가 된다.  1. 정수 n의 약수를 구하는 방법은 1부터 n까지 어떤 값으로 나눴을 때 for (int i = 1; i   2. 나머지가 0이 되면 그 수는 정수 n의 약수 if (n % i == 0) { }  3. 약수의 합answer += i;  전체 코드class Solu..
프로그래머스 0단계 각도기 (Java 자바) 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr      풀이해당 문제는 if문을 사용할 수 있느냐의 문제이다. 정확히는 if, else if, else문을. 1. 예각일 때if (0  2. 직각일 때else if (angle == 90) { answer = 2; }  4. 둔각일 때else if (90  5. 평각일 때else { answer = 4; }  전체 코드class Solution { public int solution(int angle) { int answer = 0; if (0
프로그래머스 0단계 두 수의 나눗셈 (Java 자바) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr      풀이해당 문제는 형변환과 관련된 문제이다. answer가 int일 때 어떤 값이어도 정수 부분만 return하기 때문에 소수 부분도 return할 수 있도록 형변환을 해주어야 한다. 나의 경우 강제 형변환을 사용했다.  1. 처음에 int로 선언된 answer를 double로 바꿨다.double answer = 0 ;  2. 강제형변환을 통해 num1을 num2로 나눈 값에 1000을 곱했다. (문제 내용)(double) num1 / num2 * 1000 ;  3. 소수 자리까지 출력할 텐데, 이때 최종..
프로그래머스 2단계 : 주식가격 (Java 자바) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. prices의 길이는 2 이상 100,000 이하입니다. 입출력 예 풀이 class Solution { public int[] solution(int[] prices) { // 결과를 저장할 배열 answer를 선언합니다. 크기는 입력된 prices 배..
프로그래머스 2단계 : 다리를 지나는 트럭 (Java 자바) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다. 예를 들어, 트럭 2대가 올라갈 수 있고 무게를 10kg까지 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다..
프로그래머스 3단계 : 파괴되지 않은 건물 (Java 자바) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 N x M 크기의 행렬 모양의 게임 맵이 있습니다. 이 맵에는 내구도를 가진 건물이 각 칸마다 하나씩 있습니다. 적은 이 건물들을 공격하여 파괴하려고 합니다. 건물은 적의 공격을 받으면 내구도가 감소하고 내구도가 0이하가 되면 파괴됩니다. 반대로, 아군은 회복 스킬을 사용하여 건물들의 내구도를 높이려고 합니다. 적의 공격과 아군의 회복 스킬은 항상 직사각형 모양입니다. 예를 들어, 아래 사진은 크기가 4 x 5인 맵에 내구도가 5인 건물들이 있는 상태입니다. 첫 번째로 적이 맵의 (0,0)부터 (3..