Level2
-
[프로그래머스] 땅따먹기_Java코딩테스트 2024. 5. 7. 14:38
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제1. 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있다. 2. 1행부터 땅을 밟으며 한 행씩 내려올 때, 얻을 수 있는 점수의 최댓값을 return하라.3. 단, 한 행씩 내려올 때, 같은 열을 연속해서 밟을 수 없는 특수 규칙이 있다.4. 행의 개수 N은 100,000 이하의 자연수5. 열의 개수는 4개이고, 땅(land)은 2차원 배열6. 점수 : 10..
-
[프로그래머스] k진수에서 소수 개수 구하기_Java코딩테스트 2024. 5. 3. 21:19
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/92335# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제1. 양의 정수 n을 k진수로 변환하여 소수의 개수를 모두 return하라.2. 소수의 조건은 아래와 같다.3. 소수를 판단하는 기준은 k진법으로 보았을 때가 아닌 10진법으로 보았을 때를 만족해야 한다.4. 1 ≤ n ≤ 1,000,000 3 ≤ k ≤ 10 문제 풀이1. Integer.toString(int, int)를 이용하여 정수 n을 k진법의 수로 변환하여 "0"을 기..
-
[프로그래머스] 할인 행사_Java코딩테스트 2024. 4. 29. 20:10
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/131127# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이1. 원하는 제품을 나타내는 문자열 배열 want, 원하는 제품의 수량을 나타내는 정수 배열 number, 할인하는 제품을 나타내는 문자열 배열 discount가 주어진다. 2. XYZ 마트는 일정한 금액을 지불하면 10일 동안 회원 자격을 부여한다. 회원을 대상으로 매일 한 가지 제품을 할인하며 제품은 하루에 하나씩만 구매할 수 있다.3. 원하는 제품과 수량이 할인하는 날..
-
[프로그래머스] 괄호 회전하기_Java코딩테스트 2024. 4. 26. 21:00
문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/76502 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이1. (), [], {} 는 모두 올바른 괄호 문자열이다.2. ([]) , {}([]) 도 올바른 괄호 문자열이다.3. 대괄호, 중괄호, 소괄호로 이루어진 문자열 s를 왼쪽으로 x (0 ≤ x 만큼 회전시켰을 때 올바른 괄호 문자열이 되는 경우의 수를 return한다. 코드Stack을 이용하여 괄호쌍이 맞는지 확인한다.import java.util.Stack;class So..
-
[프로그래머스] 큰 수 만들기_Java코딩테스트 2024. 4. 23. 10:56
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42883# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 1. 숫자로 이루어진 문자열 number에서 k개의 숫자를 제거하여 가장 큰 숫자를 문자열 형태로 return한다. 2. number는 2자리 이상, 1,000,000의 수로 시간복잡도 O(N²)의 알고리즘은 사용할 수 없다. 코드1 _index를 이용한 방법 index+k번째까지 체크하여 index의 숫자보다 큰 숫자가 있으면 index번째 숫자는 삭제한다. class S..
-
[프로그래머스] 영어 끝말잇기_Java코딩테스트 2024. 4. 22. 11:06
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 1. n명의 사람이 번갈아가며 words의 단어를 말하며, words의 순서는 바꿀 수 없다. 2. n번째 사람 다음 순서는 1번째 사람이다. 3. 중복되는 단어는 허용하지 않는다. 4. 첫 알파벳이 이전 사람의 단어의 마지막 알파벳과 동일해야한다. 5. 끝말잇기에 실패한 사람의 번호와 차례를 return한다. 6. 실패한 사람이 없는 경우 [0, 0]을 return한다. 코..
-
[프로그래머스] 멀리 뛰기_Java코딩테스트 2024. 4. 19. 09:10
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 1. 한 번에 한 칸 또는 두 칸을 이동할 수 있다. 2. n번째 칸 도달 방법은 n-1번째 칸 도달 방법과 n-2번째 칸 도달 방법을 더한 값이다. 3. n은 1 이상, 2000 이하인 정수이다. 4. 결과 값에 1234567을 나눈 나머지 값을 반환한다. 코드 class Solution { public long solution(int n) { if(n
-
[프로그래머스] 문자열 압축_Java코딩테스트 2024. 4. 18. 17:43
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 1. 문자열 압축 시 압축할 수 있는 문자열의 단위는 1~ 문자열의 길이/2 사이의 값이다. 2. 문자열은 처음 시작 부분부터 압축할 단위의 크기대로 나누어 압축한다. 3. 문자열의 반복 횟수가 1일 경우 숫자는 생략하고, 1 이상일 경우 반복 횟수 + 반복 문자열로 압축할 수 있다. 4. 가장 짦은 압축 문자열의 길이를 반환한다. 코드 import java.util.*; c..