본문 바로가기

JAVA/코딩테스트4

프로그래머스 레벨 2 - 퍼즐 게임 챌린지[자바] 문제  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이과정 배열의 어마어마한 길이를 보고 당연히 시간복잡도 때문에 안될줄 알면서도 순차적으로 돌며 체크해봤다. 생각이 안나서... import java.util.*;class Solution { public int solution(int[] diffs, int[] times, long limit) { //각 배열의 레벨별 증가값을 구하기 //증가값 = (전 시간 + 현재시간) * 틀린횟수 + 현재시간 int level = Arrays.stream(diffs) .. 2024. 9. 11.
프로그래머스 레벨 1 - 동영상 재생기[자바] 문제  프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 답 시간의 흐름 순으로 이동하며 풀었습니다. 1 - 초기 pos가 오프닝 구간일 경우 건너뛰기 실행2 - command 배열만큼 10초 뒤, 앞으로 이동3 - 10초 뒤 이동했는데 동영상 시작시간보다 짧아질 경우 0분 0초로 변환4 - 10초 앞으로 이동했는데 동영상 종료시간보다 길어질 경우 동영상 종료시간으로 변환5 - 구간이동 후 오프닝 구간일 경우 건너뛰기 실행 그래서 저는 이렇게 풀었습니다. import java.util.*;class Solution { public String solutio.. 2024. 9. 7.
프로그래머스 레벨 1 - 코딩테스트 고득점kit 해쉬 : 폰켓몬[자바] 문제난이도 : 레벨1문제 :폰켓몬을 가져갈 수 있는 최대 개수는 총 폰켓몬 / 2같은 종류의 폰켓몬은 가져갈 수 없음제한사항 :nums 배열에 폰켓몬의 종류가 1차원 배열로 담겨 있음.1 폰켓몬의 종류는 자연수 1~200,000답애초에 코딩테스트 공부를 거의 안하기도 했고 오랜만에 다시 공부하는 코딩테스트라 어떻게 풀어야 하는지 전혀 감이 잡히지 않았습니다.배열을 순회하면서 원소들끼리 비교해서 다르다면 count++ 하는 방법을 생각했으나 포기했습니다.(다른 사람의 풀이를 보니 sort를 통해 정렬한 후에 제가 생각한 방법대로 한 것을 보긴 했습니다. sort함수를 알고는 있었지만 거기까지 연결짓지 못했습니다.)결국 풀이를 통해 HashSet와 중복 제거라는 키워드를 찾았고 그것을 토대로 문제를 풀 수 .. 2024. 6. 12.
프로그래머스 레벨 2 - 코딩테스트 고득점kit 해쉬 : 전화번호 목록[자바] 문제난이도 : 레벨2문제 :전화번호부에 적힌 전화번호 중 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하고 결과에 따라 true, false를 리턴하는 문제.전화번호는 String[] phoneBook형태로 주어지게 된다.제한사항 :1 각 전화번호의 길이는 1이상 20이하중복되는 전화번호는 없음답제가 처음 생각한 것은 배열을 정렬한 뒤 가장 작은 수를 가진 배열의 원소를 기준으로 다른 원소들과 비교하여 접두어에 속하는지 판단하는 것이었습니다. import java.util.*;class Solution { public boolean solution(String[] phone_book) { boolean answer = true; ArrayList phone_save_l.. 2024. 6. 12.