본문 바로가기

728x90

프로그래머스

[프로그래머스] (2024 KAKAO WINTER INTERNSHIP) 산 모양 타일링 / 자바(Java) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/258705 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 경우의 수를 10007(큰 소수)로 나누어 return해야하는 점에서 단순 구현으로 해결할 수 없고 이전 값에서 다음 값을 아는 DP를 사용해 해결하는 문제입니다. 점화식 형태로 풀어내기 위해서 어떤 형태들을 만들 수 있는지 파악하고 다음 값에 영향을 주는 요소를 알아야 합니다. 기본 모형인 큰 정삼각형을 덮는 방식은 4가지 입니다. 1. 정삼각형 타일 2. 왼쪽 정삼각형 + 중간 정.. 더보기
[프로그래머] (2024 KAKAO WINTER INTERNSHIP) 도넛과 막대 그래프 / 자바(Java) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/258711 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 오직 간선들로만 주어진 값들을 이용해 3가지 그래프의 개수와 그래프에 포함되지 않는 노드 하나를 구하는 문제입니다. 처음 문제를 보았을 때 그래프를 순환으로 확인해야 하나 고민이 많았지만 생각의 방법을 바꾸어 찾아야 하는 것들의 특징들을 이용했습니다. 찾아야하는 요소는 총 4개 생성한 정점의 번호, 도넛모양그래프의 수, 막대모양 그래프의 수, 8자모양 그래프의 수입니다. 1. 생성한 .. 더보기
[프로그래머스] (2024 KAKAO WINTER INTERNSHIP) 가장 많이 받은 선물 / 자바(Java) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 선물을 주고 받은 기록을 정리하고 그 기록을 바탕으로 이번에 선물을 최대로 많이 받은 사람의 선물 수를 구하는 문제입니다. 선물기록을 2차원 배열로 정리하여 이번에 선물을 받는 경우를 쉽게 구하도록 하는 것이 이번 문제의 요점인듯 싶습니다. friends의 입력값이 모두 문자열 이기 때문에 각 문자열에 대응하는 이름을 빠르게 찾기 위해 Map을 사용해 이름들을 들어오는 순으로 숫자를 .. 더보기
[프로그래머스] PCCP 기출문제 3번 (아날로그 시계) / 자바(Java) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/250135?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 시침, 분침과 초침이 만나는 횟수를 구하는 문제입니다. 특정 범위의 시간을 구하기 까다로워 단순하게 만들기 위해 00시 00분 00초에서 시작 시간과 끝 시간의 횟수를 구해 그 차이를 구하는 것으로 변형하여 해결하였습니다. 각 시간을 구하는데에는 1. 시침이 해당 시점까지 몇번 초침과 만났는가 2. 분침이 해당 시점까지 몇번 초침과 만났는가 3. 해당 시점에 .. 더보기
[프로그래머스] PCCP 기출문제 1번 (붕대 감기) / 자바(Java) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/250137 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 매 초마다 몬스터가 공격을 하는 여부를 판단하며 문제를 해결할 수 있지만 붕대의 회복은 1초에 계속되며 특정한 주기별로 한번씩 추가 회복이 된다는 점을 생각하면 결국 계산이 필요한 시점은 몬스터에게 공격당하는 시점 뿐입니다. 따라서 몬스터의 공격이 담긴 배열을 기준으로 for문을 돌리며 문제 내용을 구현하여 해결할 수 있었습니다. 1. 지금까지 회복된 양을 반영하기 2. 몬스터에게 공.. 더보기
[프로그래머스] PCCP 기출문제 2번 (석유 시추) / 자바(Java) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 PCCP의 기출문제로 석유시추라는 이름을 가진 문제입니다. 제한 사항에 정확성과 효율성을 확인하는 부분이 있어 조건에 맞도록 구현 뿐 아니라 가능한 효율적이도록 코드를 짜야합니다. 시추관은 특정 열을 모두 관통하는데 해당 열에 포함된 석유 덩어리를 모두 시추가 가능합니다. 하나의 시추관을 사용할 때 시추가능한 최대 석유의 양을 구하는 문제입니다. 문제를 해결하기 위해선 각 열별로 시추.. 더보기
[프로그래머스] 주차 요금 계산 / 자바(Java) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 차량별 주차요금을 차량번호가 작은 순으로 출력하는 문제입니다. 문제의 조건을 잘 보고 사용가능한 자료구조와 분기를 파악하여 구현하면 해결가능합니다. 1. 데이터 정리 문제의 조건을 읽어보면 차량을 총 주차시간을 기준으로 요금을 측정하기 때문에 입력 데이터를 가공하기 쉽도록 String값을 Int배열로 바꾸고 차량번호순 오름차순으로 정렬, 같다면 시간 순으로 정렬하여 값을 변경했습니다. .. 더보기
[프로그래머스] 두 큐 합 같게 만들기 / 자바(Java) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 두 큐를 한 요소씩 이동하며 같은 합이 나오는 최소한의 횟수를 구하는 문제입니다. 큐의 특징상 들어가고 나오는 순서가 정해져있어 임의의 요소를 옮길 수 없습니다. 따라서 반복을 통해 결과를 도출해야합니다. 두 큐의 합이 같아지도록 만들기 위해 반복되는 내부에서는 큐의 합이 더 큰 쪽에서 작은 쪽으로 한 값씩 이동하며 비교해 줍니다. 반복을 멈추는 조건으로는 두 큐의 합이 같거나, 모든.. 더보기

728x90