JAVA 130

[JAVA] 프로그래머스 이중우선순위큐_힙

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  접근 :    - 최소 힙, 최대 힙, 재고 HashMap을 생성한후 I가 들어올 경우 입력한다.   - 만약 D -1 이 입력으로 들어온 경우 최소 힙에서 1개를 뺀후 뺀 값을 HashMap에서 재고 감소시킨다.   - 만약 D 1 이 들어온 경우 최대 힙에서 1개를 뺀후 뺀값을 HashMap에서 재고 감소 시킨다.   - 최대/최소 힙에서 데이터를 빼는 경우 항상 먼저 재고가 1 이상인..

JAVA/Coding Test 2024.10.15

[JAVA] 프로그래머스 당구 연습_구현

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/169198 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  접근 :    - 4개의 벽면에 대해서 쿠션을한 이동거리가 최소가 되는 길이를 찾는다.   - 공에 외력이 없이 직선으로 힘이 가해진다면 입사각과 반사각이 같으므로, 시작하는 지점으로 부터 해당 벽면을 기준으로 대칭인 지점의 좌표의 길이를 구하면 이동거리가 된다.   - 만약 x나, y의 좌표가 같아 직선으로 바로 이동하는 경우에는 쿠션을 할 수 없으므로 해당 경우는 제외한다.      ..

JAVA/Coding Test 2024.10.14

[JAVA] 프로그래머스 유사 칸토어 비트열_분할정복

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/148652 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 설명 :    - N 은 1부터 20까지의 수가 주어진다.   - N이 0 인 경우:  1    - N이 1 이상인 경우:  n-1 번째 수 비트를 순회하면서 1 인경우 11011 로 변경, 0 인 경우 00000 으로 변환한다.   - N = 0 : 1  - N = 1 : 11011  - N = 2 : 11011 11011 00000 11011 11011  - N = 3 : 1101..

JAVA/Coding Test 2024.10.10

[JAVA] 프로그래머스 양궁대회_구현

문제 :  https://school.programmers.co.kr/learn/courses/30/lessons/92342 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  문제 설명 :    - 어피치가 n 발을 사격한 후 라이언이 n 발을 사격한다.   - 양궁의 과녁판은 0 ~ 10 점까지 구역별로 존재한다.   - 만약, 10점에 라이온과 어피치가 같은 화살을 맞추면 어피치가 10점을 획득한다.   - 만약, 5 점에 라이온만 맞춘다면 해당 점수에 맞춘 화살의 갯수가 라이온이 더 많으므로 해당 점수를 획득한다.   - 어피치의 화살의 결과를 확인한 후..

JAVA/Coding Test 2024.09.25

[JAVA] 프로그래머스 이모티콘 할인행사_구현

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/150368?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  문제 설명 :    - 사용자가 정한 할인율 이상 할인하는 이모티콘을 모두 구매한다.   - 만약, 사용자가 가진돈이상의 이모티콘 구매 금액이 발생할 경우 플러스에 가입을 한다.   - 이모티콘 각각의 할인율을 적절하게 지정하여 최대의 플러스 가입자 수와 이모티콘 판매 금액을 만든다.  접근 :   - 이모티콘의 할인율을 10%, 20%, 30%, 40% 으로 중..

JAVA/Coding Test 2024.09.25

[JAVA] 프로그래머스 신고 결과 받기_구현

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  접근 :    - 유저 객체를 생성한 후 유저의 id와 신고횟수, 정지 여부를 필드값으로 가진다.   - 신고가 만약 중복된 내용이 아니라면, Map 에 신고한 유저 Id에 신고 당한 유저의 신고 횟수를 늘리고 저장한다.    - 신고 당한 유저를 한명씩 확인하면서 K 이상이면 정지를 시킨다.   - 모든 유저를 순회하면서 해당 유저가 신고한 정지한 유저가 있는경우 정답 배열의 카운트를 증..

JAVA/Coding Test 2024.09.04

[JAVA] 프로그래머스 우박수열 정적분_누적합

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/134239 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  접근 :    - 주어진 조건 대로 연산을 수행한다.1-1. 입력된 수가 짝수라면 2로 나눕니다.1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다.2.결과로 나온 수가 1보다 크다면 1번 작업을 반복합니다.    - 각 인덱스에 해당하는 정적분을 계산하여 저장한다.   - 0 ~ 끝까지 누적합을 계산하여 저장한다.   - range 입력에 따라서 누적합을 이용하여 해당범위의 넓이를..

JAVA/Coding Test 2024.09.03

[JAVA] 프로그래머스 디펜스 게임_우선순위 큐

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  접근 :    - 무적권의 갯수가 적의 수 이상인 경우에는 모든 라운드를 클리어 할 수 있으므로 라운드 수를 반환   - 적을 앞 라운드 부터 순서대로 확인하여 n을 감소시켜 준다 만약 n 이 음수가 되는 경우에는 무적권을 사용하고 이전에서 가장 큰 수를 다시 n 에 더해준다.   - 무적권을 모두 소모할 때까지 반복하고 만약 무적권을 모두 소진한다면 해당라운드는 클리어하지 못하였으므로 ..

JAVA/Coding Test 2024.08.30

[JAVA] 프로그래머스 리코쳇 로봇_탐색

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  접근 :    - BFS를 사용하여 탐색을 조건에 맞게 탐색을 시도한다.   - CASE 1 : 상하좌우를 탐색할 때, 갈수 있는 최대한의 직선거리를 이동한다.   - CASE 2 : 만약 끝지점에 도달했을 때, 이전에 방문한 적이 있는지 확인한다.   - CASE 3 : 만약 끝지점이 출구라면 해당하는 이동횟수를 결과로 출력한다.   - CASE 4 : queue 가 전부 빌때까지 출구..

JAVA/Coding Test 2024.08.28

[JAVA] 백준 1339 단어수학_Map

문제 : https://www.acmicpc.net/problem/1339 접근 :    - 받은 문자열을 숫자의 형태로 Map 에 저장한다 key 는 문자1개에 해당하고, 값은 자리수를 곱한 값이다.    EX>2GCFACDEB--------- 위 입력에 대한 결과 ---------------A : 10000B : 1C : 1010D : 100E : 10F : 1G : 100 - Map 을 value 를 기준으로 내림차순으로 정렬한 후 9에서 부터 1씩 감소시키면서 곱하면서 모두 더한다.EX > 9000080807006005043ans = 99437  코드 구현 :  import java.io.BufferedReader;import java.io.IOExceptio..

JAVA/Coding Test 2024.08.12