728x90
반응형

2025/06 4

[프로그래머스 JAVA] 최대공약수와 최소공배수

문제 링크 👉 https://school.programmers.co.kr/learn/courses/30/lessons/12940✍ 문제 설명두 개의 자연수 n, m이 주어졌을 때,최대공약수(GCD, Greatest Common Divisor)최소공배수(LCM, Least Common Multiple)를 배열에 담아 [GCD, LCM] 형태로 반환하는 solution() 함수를 작성하는 문제입니다.예를 들어,입력값 n = 3, m = 12가 주어졌을 때,최대공약수는 3,최소공배수는 12이므로 [3, 12]를 반환해야 합니다.✅ 제한 조건1 ≤ n, m ≤ 1,000,000시간복잡도를 고려한 효율적인 구현이 요구됨💡 핵심 개념이 문제를 풀기 위해 알아야 할 수학 공식은 아래와 같습니다.최대공약수 (GCD..

[프로그래머스 JAVA] 징검다리 건너기

🔗 문제 링크 바로가기📌 문제 개요디딤돌이 일렬로 놓여 있는 개울을 친구들이 하나씩 건너가려 합니다.각 디딤돌에는 숫자가 쓰여 있고, 누군가 밟을 때마다 그 숫자는 1씩 줄어듭니다.숫자가 0이 되면 그 디딤돌은 밟을 수 없으며, 최대 k칸까지 점프할 수 있습니다.목표: 최대 몇 명까지 무사히 징검다리를 건널 수 있는지를 구하라.✅ 입력 조건stones: 각 디딤돌의 최대 하중 수치 배열 (1 이상 200,000개)k: 건너뛸 수 있는 최대 칸수 (1 이상 stones.length 이하)💡 문제 핵심 아이디어특정 인원 수 n명이 건널 수 있다고 가정했을 때,디딤돌을 밟을 때마다 1씩 감소되므로 stone[i] - n 인 지점은 밟을 수 없다.이처럼 밟을 수 없는 디딤돌이 연속으로 k개 이상 나오면 →..

[프로그래머스 JAVA] 순위 검색

🔗 문제 링크 바로가기✅ 문제 요약지원자의 조건 정보 (info)와 조건 질의 (query)가 주어졌을 때, 조건을 만족하면서 코딩테스트 점수가 특정 기준 이상인 지원자 수를 빠르게 찾아야 합니다.각 지원자는 아래 4가지 조건을 가집니다:개발 언어: cpp, java, python직군: backend, frontend경력: junior, senior소울푸드: chicken, pizza질의에는 -로 와일드카드 처리도 가능합니다.🎯 핵심 풀이 전략모든 조건 조합을 미리 생성 (DFS 사용)각 info 데이터에서 4개의 조건을 바탕으로 총 2⁴ = 16가지 조합의 키를 만들어 HashMap에 저장각 조건 조합의 점수 리스트를 정렬이진 탐색을 활용하기 위함쿼리마다 키를 생성하고 이진 탐색으로 개수 계산💡 ..

[프로그래머스 JAVA] 소수 찾기

🔗 문제 링크👉 프로그래머스 소수 찾기 문제 바로가기✅ 문제 설명숫자들이 적힌 종이 조각이 흩어져 있음이 조각들을 이어붙여 만들 수 있는 모든 수 중 소수의 개수를 구하라단, 같은 숫자 조각을 한 번씩만 사용 가능조합된 수는 중복 없이 처리해야 함예시입력만들 수 있는 소수출력"17"7, 17, 713"011"11, 1012🔧 문제 접근 방법모든 자리 수 조합을 백트래킹(순열)으로 생성조합한 문자열을 숫자로 바꾸어 HashSet에 저장 (중복 제거)저장된 수들 중 소수를 판별하여 카운트💡 핵심 포인트포인트설명✅ 순열(백트래킹)자릿수 상관없이 가능한 모든 숫자 생성✅ 중복 제거HashSet로 조합된 숫자 중복 방지✅ 소수 판별2 이상 수에 대해 √n까지 나눠보는 방식 사용🧪 코드 (Java)impo..

728x90
반응형