java
-
[프로그래머스] 완전범죄 자바 DP 방식코딩테스트 2025. 4. 9. 13:33
https://school.programmers.co.kr/learn/courses/30/lessons/389480 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제info는 아이템 별 흔적값들의 모음이며 info[i][0]은 A의 흔적값, [i][1]은 B의 흔적값이다.A의 누적 흔적값 >= n 일 때와 B의 누적 흔적값 >= m 일때 경찰에 발각된다.모든 물건을 훔치려고 할 때, 경찰에 발각되지 않는 선에서 A의 최소 누적 흔적값을 구하여라.단 A B 둘다 모두 훔칠 수 없는 경우 -1을 반환한다.접근1.info.length와 같은 길이의 String[] whoSteal을 하나 생성하여 해당 아이..
-
[프로그래머스] 폰켓몬 자바 Set코딩테스트 2025. 4. 8. 11:45
https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제numbers.length 마리의 폰켓몬 중 numbers.length / 2 마리만큼 가져갈 수 있다.이 때 가져갈 수 있는 폰켓몬의 최대 종류의 수를 구하시오.접근1. 종류의 수를 구하기 위해 numbers에서 중복을 제거한다 -> Set에 담는다.2. Set의 사이즈 = 총 종류의 수.3. 가져갈 수 있는 마리 수 = numbers.length / 24. 가져갈 수 있는 마리 수 와 Set의 사이즈 중 최소값을 반환한다.public int..
-
[프로그래머스] 문자열 내 마음대로 정렬하기 자바 list.sort Comparator코딩테스트 2025. 4. 8. 09:40
https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제문자열로 구성된 배열에서 주어진 인덱스 n을 기준으로 각 단어별로 n번째 글자를 기준으로 오름차순으로 정렬하여 반환하시오. 제한사항인덱스 n의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.접근list의 sort(Comparator.comparing) 을 활용해 특정 인덱스를 기준으로 정렬하게끔 작성하였다.public String[] solution(String[] strings, int n) { ..
-
[프로그래머스] 소수 찾기 자바 에라스토테네스의 체코딩테스트 2025. 4. 7. 19:50
https://school.programmers.co.kr/learn/courses/30/lessons/12921 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제1 ~ n 까지의 범위에서 소수의 갯수를 구하시오.접근1.기존에 사용했던 소수인지 체크하는 메서드를 활용하여 소수면 answer ++ 한다.public int solution(int n) { int answer = 0; for(int i = 1; i 발견된 문제n이 커질수록 매우 느려짐. 시간초과제안 : 에라스토테네스의 체 법칙 활용. ( i의 모든 배수는 i를 약수로 가진다.)수정public int solution2..
-
[프로그래머스] 시저암호 자바코딩테스트 2025. 4. 7. 19:20
https://school.programmers.co.kr/learn/courses/30/lessons/12926 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제s는 소문자와 대문자, 공백 3가지 요소로 구성된 문자열이다. n은 각 문자열을 뒷문자로 이동시킬 값이다.ex) n = 1, s = 'AB' -> answer = 'BC'제한사항1.'z' 와 'Z'의 다음값은 'a' 와 'A'이다.2.' '은 이동시켜도 변하지 않음. 접근1.s를 문자별로 확인해서 공백이 아니면2. 'z'나 'Z' 혹은 그 외의 경우에 이동처리를 한다. public String solution(String s, int n) {..
-
[프로그래머스] 이상한 문자 만들기 자바 toUpper / toLowerCase코딩테스트 2025. 4. 7. 13:55
https://school.programmers.co.kr/learn/courses/30/lessons/12930 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제s는 1개이상의 단어로 구성되어 있다. 각 단어는" " 으로 구분한다.각 단어를 인덱스 기준으로 짝수는 대문자 홀수는 소문자로 변환해 반환하시오. 접근1. s를 " "기준으로 split2. for 반복문 내부에서 단어별로 index 체크3. index % 2 == 0 ? Character.toUpperCase(c) :Character.toLowerCase(c) 하는 로직으로 구성했다.public static String solution(Str..
-
[프로그래머스] 최대공약수와 최소공배수 자바 유클리드 호제법코딩테스트 2025. 4. 7. 10:15
https://school.programmers.co.kr/learn/courses/30/lessons/12940 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제주어진 두 수의 최대공약수와 최소공배수를 배열에 담아 반환하시오.접근각 수의 약수 리스트를 먼저 구한 후, 반복문으로 m의 약수 목록에 n의 약수가 존재하는지 체크하고 촌재하면 최대값을 갱신 -> 최대공약수 최소공배수는 (n * m) / 최대공약수를 활용했다. public static int[] solution(int n, int m) { List nFactors = getFactors(n); List mFactors..
-
[프로그래머스] 비밀지도 이진법코딩테스트 2025. 4. 6. 23:33
https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제지도는 정사각형이고 한변의 길이는 n이다.arr1과 arr2는 정수로 이루어진 배열이며, 각 정수를 이진수로 바꾸면 지도의 정보가 된다.각 배열의 값을 이진수로 바꾸면, 1 = 벽, 0 = 빈 칸을 의미한다.두 배열을 해독하면 지도1 지도2가 나타나며, 두 지도를 겹쳤을 때의 형태를 벽 '#' 과 빈칸 ' '로 구하여라. 접근일전에 삼진수로 변환하던 문제와 유사할 것이므로1. 우선 이진수로 변환할 역할의 메서드를 별도로 생성한다.2. n =..