프로그래머스 알고리즘
-
정수 삼각형(JAVA)프로그래머스 알고리즘 2023. 5. 5. 14:15
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 삼각형 꼭데기에서 시작해 바닥까지 가면서 숫자를 더해 최댓값을 구하는 문제이다. 내려갈때는 항상 대각선 아래로만 내려갈 수 있다. import java.util.*; class Solution { int [][]dp = new int[501][501]; public int solution(int[][] triangle) { for(int a[] : dp) //이차원 배열 모두 -1로 초기화 Arrays.fill(a, -1); dp[0][0]=triangle[0][0]; for(int i=1;i
-
체육복 (JAVA)프로그래머스 알고리즘 2023. 5. 5. 02:08
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 예제 #1 1번 학생이 2번 학생에게 체육복을 빌려주고, 3번 학생이나 5번 학생이 4번 학생에게 체육복을 빌려주면 학생 5명이 체육수업을 들을 수 있습니다. 예제 #2 3번 학생이 2번 학생이나 4번 학생에게 체육복을 빌려주면 학생 4명이 체육수업을 들을 수 있습니다. 먼저 학생들의 번호를 인덱스로 하는 체육복의 개수를 알려주는 배열을 만든다. int answer = n; int []arr = new int[n+1]; Arrays.fill(arr, 1); for(int i : lost) arr[i]--..
-
가장 큰 수 (JAVA)프로그래머스 알고리즘 2023. 5. 2. 16:57
문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 위와 같이 numbers가 주어지면 숫자를 맘대로 정렬해서 가장 큰 수를 만들면 된다. 일단 생각한 방법이 1. 가장 왼쪽에 있는 숫자가 큰 수로 정렬하기 출처 : https://chanhuiseok.github.io/posts/prog-2/ 위와 같이 정렬 기준을 세우면 된다. 먼저 그 전에 numbers로 들어오는 숫자를 String형으로 바꿔줄 필요가 있다. 그래야 조작하기 쉽기도 하고, numbers의 길이가 1000이 넘기 때문에 Long 타입으로도 넣지 못한다. String[] nums = n..