CodingTest 123

[프로그래머스 / Java] Lv.1 부족한 금액 계산하기

Questionhttps://school.programmers.co.kr/learn/courses/30/lessons/82612 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithmfor문을 사용해 price를 count 만큼 곱하며 더해준다.더한 금액과 money를 비교한다.money가 크다면 0을 return작다면 (더한값 - money)를 return❗️처음에 sum을 int로 설정했다가 오류가 났었다.Codeclass Solution { public long solution(int price, int money, int count) { int sum = 0; ..

[프로그래머스 / Java] Lv.1 제일 작은 수 제거하기

Question https://school.programmers.co.kr/learn/courses/30/lessons/12935 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithm가장 먼저, if문을 사용해 빈 배열인 경우를 찾아 -1 값을 넣어준다.if(arr.length == 0)가장 작은 수를 찾기 위해 향상된 for문을 사용해 arr 배열의 값들을 순회하며 비교한다.가장 작은 값을 제거하기 위해, ArrayList로 새로운 배열 생성한다.ArrayList를 int 배열로 변환한다.Codeimport java.util.ArrayList;class Solution { public int[]..

[프로그래머스 / Java] Lv.1 핸드폰 번호 가리기

Question https://school.programmers.co.kr/learn/courses/30/lessons/12948 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithm전화번호 길이를 구한 뒤, 뒤 4자리를 제외한 앞부분은 *로 채우고, 마지막 4자리는 그대로 붙여서 결과 문자열을 생성phone_number.length()로 전체 길이 확인length - 4 만큼 *를 반복 추가phone_number.substring(length - 4)로 마지막 4자리 추출두 부분을 합쳐 최종 문자열 반환Codeclass Solution { public String solution(String p..

카테고리 없음 2025.06.26

[프로그래머스 / Java] Lv.1 콜라츠 추측

Question https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithm입력된 수의 짝수, 홀수 여부를 판단한다.주어진 조건대로 짝수라면 2로 나누고, 홀수라면 3을 곱하고 1을 더한다.결과로 1이 나올때 까지 반복하는 횟수를 저장한다.주어진 수가 1인 경우, 0500번 이상 반복되는 경우, -1Codeclass Solution { public int solution(int num) { int count = 0; while (num != 1) { ..

[프로그래머스 / Java] Lv.1 나누어 떨어지는 숫자 배열

Question https://school.programmers.co.kr/learn/courses/30/lessons/12910 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithmfor문을 사용해 arr의 배열을 순회하며, 주어진 divisor로 나누어 떨어지는 값을 찾는다.나누어 떨어지는 값이 없는 경우 -1을 반환한다.divisor로 나누어 떨어진 값들을 오름차순 정렬하여, 최종 결과를 return 한다.❗️두 번째 반복문을 생각하는 로직이 조금 헷갈렸다.Codeimport java.util.Arrays;class Solution { public int[] solution(int[] arr..

[프로그래머스 / Java] Lv.1 서울에서 김서방 찾기

Question https://school.programmers.co.kr/learn/courses/30/lessons/12919 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithm찾고자 하는 문자열 "Kim"을 찾기 위해, for문을 사용해 주어진 배열의 길이만큼 반복하며 배열을 순회한다.최악의 경우 O(n)의 시간복잡도를 가진다.seoul[i].equals() 함수를 활용하여 문자열 "Kim"과 동일한 문자열이 존재하는지 비교할 수 있다.Java에서 문자열 비교는 ==가 아니라 .equals()를 사용해야 한다."Kim"을 찾은 이후에는 더 이상 탐색할 필요가 없기 때문에 break를 사용해 반복..

[프로그래머스 / Java] Lv.2 연속 부분 수열 합의 개수

Question https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithm중복 제거를 위해 HashSet을 사용한다.동일한 부분 수열 합이 여러 번 등장할 수 있기 때문에, 중복을 제거하고 서로 다른 합만 저장하기 위한 HashSet를 사용주어진 배열 elements 길이 만큼 반복하며 부분 수열 길이를 결정한다.for문을 사용해, 부분 수열의 길이를 size 변수로 선언하여 1부터 elements.length까지 모든 길이에 대해 순회가능한 모든 연속 부분 수열을 고려하기 위함초기 구간 합 ..

[프로그래머스 / Java] Lv.1 없는 숫자 더하기

Question https://school.programmers.co.kr/learn/courses/30/lessons/86051 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithmfor을 사용해 i = 1부터 numbers 배열을 순회하며, i가 존재하는지 확인한다.boolean 타입의 exists를 선언하여 i가 배열에 존재하는 경우 true로 변경, if 문 break;i가 numbers 배열에 없다면, answer에 i를 더한다.Codeclass Solution { public int solution(int[] numbers) { int answer = 0; ..

[프로그래머스 / Java] Lv.1 정수 제곱근 판별

Question https://school.programmers.co.kr/learn/courses/30/lessons/12934 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithm먼저, 주어진 숫자 n의 제곱근을 구해서 정수로 변환한 뒤, 다시 제곱했을 때 원래 숫자 n과 같은지 확인한다.n이 어떤 정수 x의 제곱이 맞다면, x + 1을 제곱한 값을 반환하다.Codeclass Solution { public long solution(long n) { // n의 양의 제곱근^2 한 값이 n과 같다면 (정확한 정수의 제곱이 맞다면) if(Math.pow((i..

[프로그래머스 / Java] Lv.1 가장 가까운 같은 글자

Question https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krAlgorithm문자마다 마지막으로 나왔던 인덱스를 저장하고, 다음 등장 시 인덱스 비굘르 위해 HashMap을 사용한다.for문을 통해 문자열을 왼쪽부터 한 글자씩 순회하면서, 이전에 등장한 적 있는지 확인한다.이전에 등장한 적 있다면, 현재 인덱스와 마지막 등장 인덱스의 차이를 계산해 저장한다.i - map.get(s.charAt(i));조건문이 끝나면, 현재 문자의 인덱스를 HashMap에 갱신한다.다음에 같은 문자가 등장했을 때 ..