문제/프로그래머스
-
[프로그래머스] 정수 삼각형 - 자바 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..
-
[프로그래머스]자연수 뒤집어 배열로 만들기 - 자바 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 에서도 가장 쉬운 문제들 중 하나가 아닐까 싶은데 맨 처음 이 문제를 풀었을때 제가 막 자바에 대해 배울때라 왜케 어려웠는지 ㅋㅋㅋ 옛날 생각이 나는 문제네욧
-
[프로그래머스] 완주하지 못한 선수 - 자바 Java문제/프로그래머스 2021. 6. 14. 23:06
출처: 프로그래머스 모든 문제 레벨 1 https://programmers.co.kr/learn/challenges 저는 이런식으로 풀었습니다. (짧지만 시간 복잡도가 늘어난 코드네요 ㅠ ) import java.util.*; class Solution { public String solution(String[] participant, String[] completion) { Arrays.sort(participant); // 오름차순 정렬 Arrays.sort(completion); // 오름차순 정렬 int i = 0; // 완주하지 못한 선수 인덱스 for(i = 0; i < completion.length; i++) { if(!participant[i].equals(completion[i])) {..
-
[프로그래머스] 자릿수 더하기 - 자바 Java문제/프로그래머스 2021. 6. 13. 20:54
출처: 프로그래머스 모든 문제 레벨 1 https://programmers.co.kr/learn/challenges import java.util.*; public class Solution { public int solution(int n) { int answer = 0; String str = String.valueOf(n); // 숫자를 String으로 바꿈 for(int i = 0; i char 형변환을 했고 2. char -> int 로..