자바

프로그래머스

[프로그래머스] 프로그래머스 Level2 땅따먹기 Java

문제 https://programmers.co.kr/learn/courses/30/lessons/12913 코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟 programmers.co.kr 풀이 2차원 DP로 문제를 해결할 수 있었다. DP[i][j]를 좌표 (i, j)까지 도달하여 얻을 수 있는 가장 큰 점수라고 가정했을 때 이전 행에서와 같은 열을 지나오지 못하므로 j의 값에 따른 4개의 분기를 처리해주었다. 일단 DP 테이블을 채우기위해서 0번째 행의 초기값을 세팅해주었고 1행부터는 이전 행에서 현재의 j 값과 다른 ..

프로그래머스

[프로그래머스] 프로그래머스 Level2 최솟값 만들기 Java

문제 https://programmers.co.kr/learn/courses/30/lessons/12941 코딩테스트 연습 - 최솟값 만들기 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱 programmers.co.kr 풀이 문제를 풀기위한 알고리즘은 따로 필요하지 않았다. 우리가 구해야하는 값은 각 배열 원소의 곱의 최솟값이므로 하나의 배열은 오름차순, 하나의 배열은 내림차순 정렬하여 각 원소들을 곱해주면 최솟값을 구할 수 있다. 코드 import java.util.Arrays; class Solution { public int solution(in..

프로그래머스

[프로그래머스] 프로그래머스 Level1 실패율 Java (카카오 코딩테스트)

문제 https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 풀이 카카오 문제답게 다른 레벨1 문제들에 비해 구현하기 조금 번거로웠다. 문제를 해결하기 위한 알고리즘은 따로 필요 없었고, 순수 구현으로 풀 수 있었다. fail와 success 배열을 만들어주어 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수를 각각 관리해주었다. 자신이 밟고 있는 현재 스테이지가 stages..

프로그래머스

[프로그래머스] 프로그래머스 Level1 모의고사 Java

문제 https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 풀이 따로 문제를 풀기 위한 알고리즘은 필요하지 않은 거 같고 구현으로 문제를 해결할 수 있었다. 1, 2, 3번 수포자의 정답 패턴을 배열로 만들어 주었고, 각각의 인덱스를 따로 변수 선언 해주어(oneIdx, twoIdx...) while 루프를 돌며 각각의 점수를 측정해주었다. while 루프에선 정답 패턴의 크기(idx)에 맞게만 돌 수 있도록 정답..