자바
-
[프로그래머스] 최대공약수와 최소공배수 자바 유클리드 호제법코딩테스트 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 =..
-
[프로그래머스] 다트게임 자바 리스트수정 합계코딩테스트 2025. 4. 6. 15:38
https://school.programmers.co.kr/learn/courses/30/lessons/17682 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제문자열 dartResult를 해석한 결과 점수를 구하시오.* 게임은 3회 진행* 회차별 점수는 0 접근1. 문자열에서 점수부분만 따로 추출하여 List에 넣음2. SDT 제곱계산용 메서드 별도 처리3. * # S D T 의 경우의 로직처리 구현public int solution(String dartResult) { int answer = 0; List points = new ArrayList(); //점수..
-
[프로그래머스] k번째 수 자바 정렬코딩테스트 2025. 4. 6. 11:27
https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제{i, j, k} 의 모음으로 이루어진 commands를 주어진 배열 array에 대입하여array의 i번째 ~ j번째 까지 잘라 오름차순 정렬 한 후 k번째의 수를 배열에 담아 반환하시오. 접근1.k를 담을 list를 하나 생성한다.2.commands 를 순회하여 각각 i, j, k를 기준으로 array를 분류와 정렬 후 k번째 값을 list에 넣어 반환한다.public int[] solution(int[] array, int[][] co..
-
[프로그래머스] 모의고사 자바 완전순회코딩테스트 2025. 4. 6. 11:03
https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제세 사람은 각각 다음과 같은 방식으로 문제를 찍는다.1번 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...2번 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...3번 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...주어진 정답배열 answers와 세 사람의 답안을 비교해 가장 많은 정답을 ..
-
[프로그래머스] 체육복 자바코딩테스트 2025. 4. 6. 10:21
문제전체 학생수 n, 체육복을 도난당한 학생 번호 배열 lost, 여벌 체육복을 갖고 있는 학생 번호 배열 reserve가 있다.해당 정보를 바탕으로 체육수업에 참가할 수 있는 학생 수를 구하여라. 제한사항1. 체육복은 자기 번호의 바로 앞 뒤 한테만 빌릴 수 있다..2. 여벌 체육복을 가진 학생도 도난 당할 수 있다.3. 보유 갯수가 1개면 빌려줄 수 없다. 접근우선 배열로 해당 정보를 관리하며, 초기에 모든 값에 1을 부여한다.그 후 여벌 보유 학생들의 체육복 수를 + 1, 도난 당한 학생들의 체육복 수를 -1 처리.마지막으로 answer에 체육복 수 >=1 인 학생 수를 계산하여 마무리public int solution(int n, int[] lost, int[] reserve) { i..
-
[프로그래머스] 실패율 자바 리스트 정렬, 객체코딩테스트 2025. 4. 5. 17:15
문제N : 실패율 조사대상 전체 스테이지의 갯수stages : 현재 사람들의 도달 스테이지 (진행 중)실패율 : 현재 스테이지 진행 중인 사람 수 / 해당 스테이지에 도달 및 통과한 플레이어의 수 해당 스테이지에 도달한 플레이어가 없는 경우 실패율은 0. 각 스테이지 별 실패율을 계산하고 실패율이 높은 순으로 내림차순 정렬한 배열을 반환하시오.단 실패율이 서로 같은 경우, 작은 번호의 스테이지가 먼저 위치할 것. 제한사항stages에는 1 이상 N + 1 이하의 자연수가 담겨있다접근각 스테이지에 도달한 플레이어의 수 현황을 Map에 담고 이에 근거해 실패율을 계산하는 로직을 구상하였으나실패율에 근거해 정렬하는 부분에서 막혔다.public int[] solution(int N, int[] stages) {..
-
[프로그래머스] 크레인 인형뽑기 게임 자바 Stack코딩테스트 2025. 4. 5. 11:42
https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제board는 인형뽑기기계의 내부 상황이다. 기계 맨 위 ~ 맨 아래까지를 순서대로 표현하고 있으며0 은 빈 공간, 1 ~ 100 은 인형의 종류를 의미한다.moves는 뽑은 열의 집합이다.뽑은 인형 == 직전에 뽑은 인형일 경우 두 인형을 제거한다.board에 moves대로 진행하였을 때 총 제거된 인형의 수를 구하시오.접근뽑은 인형을 쌓아두고 마지막 인형 == 뽑은 인형인지 파악하기 위해 Stack을 사용했다.public int soluti..