Java
-
[백준] 16199 나이 계산하기_Java코딩테스트 2024. 5. 1. 18:50
한국에서 나이는 총 3가지 종류가 있다. 문제 링크https://www.acmicpc.net/problem/16199 문제 풀이1. 만 나이, 세는 나이, 연 나이를 구하여 출력하라.만 나이 : 생일을 기준으로 하여, 태어난 후 0살부터 생일이 지날 때마다 1살씩 증가시켜 계산한다. 세는 나이 : 연도를 기준으로 하여, 태어난 후 1살부터 연도가 바뀔 때 마다 1살씩 증가시켜 계산한다.연 나이: 연도를 기준으로 하여, 태어난 후 0살부터 연도가 바뀔 때 마다 1살씩 증가시켜 계산한다.2. 입력 값 코드1 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Strin..
-
[프로그래머스] 할인 행사_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..
-
[백준] 30970 선택의 기로_Java코딩테스트 2024. 4. 24. 11:30
품질이냐 가격이냐, 그것이 문제로다.. 문제 링크https://www.acmicpc.net/problem/30970 30970번: 선택의 기로첫 번째 줄에는 첫 번째 방법을 선택했을 때의 첫 번째로 고른 촉석루 미니어처의 품질과 가격, 두 번째로 고른 촉석루 미니어처의 품질과 가격을 공백으로 구분하여 순서대로 출력한다. 두 번www.acmicpc.net 문제 풀이1.입력 값2. 품질과 가격이 전부 동일한 두 촉석루 미니어처는 없다.3. 미니어처를 고르는 방법은 두가지 이다. 첫번째 방법 : 품질이 가장 높은 미니어처, 품질이 같다면 가격이 가장 낮은 것을 고른다. 두번째 방법 : 가격이 가장 낮은 미니어처, 가격이 같다면 품질이 가장 높은 것을 고른다. 4. ..
-
[프로그래머스] 큰 수 만들기_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..