목록프로그래머스 (49)
Hayden's Archive

알고리즘 문제 출처 : programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 내가 작성한 코드 실컷 잘 풀어놓고 제출하는데 런타임 에러가 터졌다. 당황해서 다시 코드를 살펴보니 스테이지에 도달한 유저가 없는 경우 실패율(스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수)에서 스테이지에 도달한 플레이어 수가 0이 되고 0이 분모가 되어버리는 것을 발견했다. 따라서 조건문으로 0이 아닌 경우..

알고리즘 문제 출처 : programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 내가 작성한 코드 public class Solution { public int[] solution(int[] numbers) { int maxSum = 200; int[] tempSumBox = new int[maxSum + 1]; //나올 수 있는 합은 0~200 int length = 0; for(i..

알고리즘 문제 출처 : programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 내가 작성한 코드 import java.util.Stack; class Solution { public int solution(int[][] board, int[] moves) { int answer = 0; Stack pickedBox = new Stack(); for(int i=0; i

알고리즘 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12980 코딩테스트 연습 - 점프와 순간 이동 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈� programmers.co.kr 내가 작성한 코드 class Solution { public int solution(int n) { int ans = 0; if(n % 2 == 1) ans = 1; //홀수일 경우 while(n>=1) { n /= 2; //2로 나눈 몫 if(n % 2 == 1) {//몫이 홀수일 때 n -= 1; ans++; ..
알고리즘 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42588 코딩테스트 연습 - 탑 수평 직선에 탑 N대를 세웠습니다. 모든 탑의 꼭대기에는 신호를 송/수신하는 장치를 설치했습니다. 발사한 신호는 신호를 보낸 탑보다 높은 탑에서만 수신합니다. 또한, 한 번 수신된 신호는 다 programmers.co.kr 내가 작성한 코드 class Solution { public int[] solution(int[] heights) { int[] answer = new int[heights.length]; int send = 0; int receive = 0; for(int i=heights.length-1; i>=1; i--){ if(heights[i]..
알고리즘 문제 출처 https://programmers.co.kr/learn/courses/30/lessons/12917 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 � programmers.co.kr 내가 작성한 코드 import java.util.Arrays; class Solution { public String solution(String s) { String answer = ""; String upper = ""; String lower = ""; String[] str = s.split(""); A..
알고리즘 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12941 코딩테스트 연습 - 최솟값 만들기 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱 programmers.co.kr 내가 작성한 코드 Arrays 클래스의 sort() 메소드를 통해서 배열 A, B를 오름차순으로 정렬하고, A는 0번째 인덱스부터 B는 마지막 인덱스부터 서로 곱한 것을 answer에 더해간다. import java.util.Arrays; class Solution{ public int solution(int []A,..
알고리즘 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 �� programmers.co.kr 내가 작성한 코드 아이디어) - 갈색 개수와 노란색 개수는 가로와 세로를 곱한 값과 같다. - (가로-2) * (세로-2) 는 노란색 개수와 같다. import java.util.ArrayList; class Solution { public int[] solution(int brown, int yellow) { int[] answ..
알고리즘 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12953 코딩테스트 연습 - N개의 최소공배수 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배�� programmers.co.kr 관련 포스팅 : https://hayden-archive.tistory.com/140 내가 작성한 코드 - 먼저 유클리드 호제법을 활용해서 재귀함수를 써서 최소공배수를 리턴하는 메소드를 작성한다. - 아이디어 : "세 수의 최소공배수"는 "두 수의 최소공배수"와 "다른 한 수"의 최소공배수와 ..

알고리즘 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12939 코딩테스트 연습 - 최댓값과 최솟값 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 (최소값) (최대값)형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를�� programmers.co.kr 내가 작성한 코드 class Solution { public String solution(String s) { String answer = ""; String[] str = s.split(" "); int max = Integer.MIN_VALUE; int min = Integer.MAX_VALUE; for(in..