문제
-
[프로그래머스] 정수 삼각형 - 자바 Java + 접근 방식문제/프로그래머스 2023. 12. 7. 22:59
Dynamic Programming 문제이고 아래 칸으로 아래로 내려가면서 거쳐간 숫자의 최댓값을 구하는 문제입니다. 접근 방식 크게 맨 왼쪽 값, 중간 값, 맨 오른쪽 구하는 식으로 구성되어있고 answer 를 업데이트하면서 현재까지 계산된 최대 합을 저장합니다. import java.util.*; class Solution { public int solution(int[][] triangle) { int answer = 0; int[][] temp = new int[triangle.length][triangle.length]; temp[0][0] = triangle[0][0]; for(int i = 1; i < triangle.length; i++) { temp[i][0] = temp[i - 1][0..
-
[백준] 분해합 2231번 - 자바 Java + 접근 방식문제/백준 2023. 11. 29. 18:08
완전 탐색(Brute-force Search) 문제입니다. 접근 방식 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //입력받은 숫자를 문자열로 받는다. String numberString = br.readLine(); //입력받은 숫자의 길이 int numberLength = numberString.length(); //문자열을 int..
-
[백준] 일곱 난쟁이 2309번 - 자바 Java + 접근 방식문제/백준 2023. 11. 29. 14:28
완전 탐색(Brute-force Search) 문제입니다. 가짜 난쟁이 2명을 제외한 키 합이 100이 되는 일곱 난쟁이의 키를 출력하는 문제입니다. 접근 방식 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //난쟁이 9명 배열 생성 int[] dwarfs = new int[9]; //난쟁이들 키 총합 int totalHeight = 0..
-
[프로그래머스]자연수 뒤집어 배열로 만들기 - 자바 Java + 접근 방식문제/프로그래머스 2023. 11. 27. 21:03
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴하는 문제입니다. 접근 방식 주어진 자연수 n을 문자열로 변환합니다. Long.toString(n); 변환한 문자열을 역순으로 반복하면서 각 문자를 숫자로 변환합니다. numStr.charAt(i) - '0' ( 여기서 '0'을 빼는 이유는 문자에서 숫자로 변환하기 위함입니다.) 변환한 숫자들을 배열에 저장합니다. 최종적으로 이 배열을 반환합니다. import java.util.ArrayList; import java.util.List; class Solution { public int[] solution(long n) { String numStr = Long.toString(n); List list = new ArrayList(); fo..
-
[프로그래머스]나머지가 1이 되는 수 찾기 - 자바 Java + 접근 방식문제/프로그래머스 2023. 11. 27. 19:17
'n을 x로 나눈 나머지가 1이 되도록하는 가장 작은 자연수 x'를 구하는 문제입니다. 접근 방식 x는 1보다 큰 자연수여야 합니다. n을 1로 나누면 나머지가 항상 0이기 때문입니다. x를 2부터 시작하여 n보다 작은 동안 반복합니다. 각 반복에서 n%x가 1이 되는지 확인합니다. 만약 1이라면 그 x가 result 입니다. n%x가 1이 되는 가장 작은 자연수 x을 반환합니다. class Solution { public int solution(int n) { for(int x = 2; x < n; x++) { if(n % x == 1) { return x; } } return n - 1; } }
-
[프로그래머스] 2016년 - 자바 Java문제/프로그래머스 2021. 7. 5. 17:08
출처: 프로그래머스 모든 문제 레벨 1 https://programmers.co.kr/learn/challenges 코딩테스트 연습 기초부터 차근차근, 직접 코드를 작성해 보세요. programmers.co.kr import java.util.Calendar; class Solution { public String solution(int a, int b) { String day = ""; Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 2016); cal.set(Calendar.MONTH, a-1); cal.set(Calendar.DATE, b); int dayNum = cal.get(Calendar.DAY_OF_WEEK); switch (d..
-
[프로그래머스] 서울에서 김서방 찾기 - 자바 Java문제/프로그래머스 2021. 6. 18. 17:04
class Solution { public String solution(String[] seoul) { int x= 0; for(int i = 0; i < seoul.length; i++){ // seoul String 배열 length 만큼 if(seoul[i].equals("Kim")){ // 배열에 "Kim"이 있다면 i를 x에 저장 x = i; } } return "김서방은 "+x+"에 있다"; } } 생각보다 쓸 내용이 없는 문제네요... 분명 이 문제를 레벨1 에서도 가장 쉬운 문제들 중 하나가 아닐까 싶은데 맨 처음 이 문제를 풀었을때 제가 막 자바에 대해 배울때라 왜케 어려웠는지 ㅋㅋㅋ 옛날 생각이 나는 문제네욧