본문 바로가기
728x90
반응형

JAVA13

프로그래머스 Level 2 – 카펫(Java) 풀이 🟫 프로그래머스 Level 2 – 카펫(Java) 풀이이번에는 프로그래머스에서 자주 출제되는 수학/완전탐색 문제인 ‘카펫’ 문제를 정리해봤다.이 문제는 겉으로 보면 복잡해 보이지만, 원리를 이해하면 surprisingly 쉽게 풀린다.문제는 다음 조건을 만족하는 카펫의 가로/세로 길이를 구하는 것이다:노란색 영역(yellow)은 가운데 직사각형갈색 영역(brown)은 노란색 영역을 한 겹 둘러싼 테두리즉, 전체 카펫 구조는 이런 모양이다.BBBBBBBBYYYYYBBYYYYYBBBBBBBB yellow가 내부 직사각형, brown은 그 외곽을 구성하는 형태다.📌 핵심 아이디어조건을 식으로 정리하면 다음과 같다.✔ 내부 노란색(yellow)의 가로 = w✔ 내부 노란색(yellow)의 세로 = h그렇다면.. 2025. 11. 18.
프로그래머스 Level 2 – 소수 찾기(Java, 완전탐색 + 백트래킹) 🔢 프로그래머스 Level 2 – 소수 찾기(Java, 완전탐색 + 백트래킹)이번에 정리한 문제는 완전탐색의 대표 문제인 **‘소수 찾기’**다.문자열로 주어진 숫자들로 만들 수 있는 모든 조합을 생성하고,그 안에서 소수인 숫자들의 개수를 세는 문제다.언뜻 쉬워 보이지만,자리수를 마음대로 섞을 수 있고길이도 1자리 ~ 전체 길이까지 모두 고려해야 하며중복 숫자 조합은 제거해야 한다라는 조건 때문에 생각보다 구현 포인트가 많다.📌 문제 핵심 요약주어진 문자열 "numbers" 안의 숫자로 만들 수 있는 모든 수 중**소수(prime number)**가 몇 개인지 구하는 문제다.예시: "17"가능한 조합 → 1, 7, 17, 71소수 → 7, 17, 71 → 총 3개🧠 풀이 핵심 아이디어✔ 1. 백트래.. 2025. 11. 18.
프로그래머스 Level 1 – 모의고사(Java) 풀이 📝 프로그래머스 Level 1 – 모의고사(Java) 풀이이 문제는 세 명의 수포자가 찍는 방식이 각각 다르다는 설정으로 시작한다.우리가 해야 할 일은 **실제 정답 배열을 기준으로 가장 많은 문제를 맞힌 사람(들)**을 구하는 것.문제 자체는 난이도가 높지 않지만, 반복 패턴을 처리하는 방법과여러 명 중 최댓값을 뽑아내는 로직을 깔끔하게 짜는 것이 핵심이다.📌 문제 요약answers: 실제 시험 정답 배열p1, p2, p3: 수포자 1~3번의 반복되는 찍기 패턴각 수포자가 몇 문제를 맞췄는지 계산한 뒤가장 높은 점수를 받은 사람 번호를 오름차순 배열로 반환하기🧠 풀이 핵심 포인트✔ 1. 패턴은 반복되므로 나머지 연산(mod) 사용예) 수포자 1의 패턴 길이 = 5→ i번째 문제의 비교는 p1[i .. 2025. 11. 18.
프로그래머스 Level 1 – 최소직사각형(Java) 📦 프로그래머스 Level 1 – 최소직사각형(Java)오늘은 프로그래머스 초급 문제 중에서도 정말 자주 등장하는 “최소직사각형” 문제를 정리해보려 한다.이 문제는 난이도는 쉽지만, 면접이나 코딩테스트에서 ‘정렬을 이용한 아이디어 문제’로 꽤 자주 나온다.핵심 아이디어만 정확히 잡으면 바로 풀리는 문제이기 때문에깔끔하게 정리해두면 다른 변형 문제에도 도움된다.📌 문제 요약여러 명함들의 가로·세로 크기가 주어진다.명함을 회전할 수 있기 때문에,모든 명함을 수납할 수 있는 최소 크기의 지갑(직사각형) 을 만들 때 그 넓이를 구하는 문제다.즉, 명함의 방향을 자유롭게 바꿀 수 있다는 점이 핵심이다.🧠 핵심 아이디어✔ 1. 명함은 회전 가능 → 항상 긴 쪽을 뒤집어서 정렬예를 들어 [60, 30]과 [30.. 2025. 11. 18.
728x90
반응형