본문 바로가기
728x90

코딩테스트/프로그래머스89

[연습문제] 롤케이크 자르기 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 계속 시간 초과가 나서 찾아본 문제다😢 처음에는 Set을 2개를 선언해서 반복문 돌면서 그 때마다 넣어주고 계산했는데 음 사실 진짜 효율 안좋은거 알긴 했다ㅋㅋㅋㅋㅋㅋ 근데 어어ㅓㅇ어어어ㅓㅇ어엄청 안좋아서 찾아보니까 Map을 사용하면 훨씬 빠르다고 했땅 그래서 Map 하나랑 Set 하나를 선언해서 구현했다! 그렇게 어려운 문제는 아니어서 코드 보면 이해가 될 것이다! 자바 코드) import j.. 2022. 11. 27.
[카카오 인턴] 경주로 건설 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/67259 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 진짜... 진짜 어려웠다... dp 가뜩이나 어려워하는데 여기에 bfs까지..? bfs 변형이 진짜 생각하기 어려운 것 같다..🥲 그래도 어케... 해내야지... 버티는거야~ 버텨? 보는거야~ 일단 버티는거야~ 그럼 되는거야~ 이 문제는 단순히 최단거리를 찾는 것이 아니라 최소비용을 찾아야 한다 따라서 bfs로 모든 경로를 탐색하면서 도착지에 도달하면 최소비용인지 확인하고 업데이트하면 된다 bfs.. 2022. 11. 26.
[연습 문제] 숫자 카드 나누기 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/135807 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 간단한 문젠데 조건을 제대로 읽지 않고 풀어서 조금 헤멨던 문제다...😥 난 요 부분 조건이 헷갈렸다 철수가 가진 카드들에 적힌 모든 숫자를 나눌 수 있고 영희가 가진 카드들에 적힌 모든 숫자들 중 하나도 나눌 수 없는 양의 정수 a 영희가 가진 카드들에 적힌 모든 숫자를 나눌 수 있고, 철수가 가진 카드들에 적힌 모든 숫자들 중 하나도 나눌 수 없는 양의 정수 a 예를 들어 철수가 [10, 1.. 2022. 11. 17.
[연습문제] 혼자 놀기의 달인 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/131130 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 음 이 문제는 DFS로 해결 가능한 문제였던 것 같다 1번 카드(0번 인덱스)부터 차례대로 방문하면서 해당 인덱스의 카드값이 다음 인덱스가 되도록 한다 그리고 방문한 카드의 인덱스는 visit 배열을 통해 방문 처리를 하고, 이미 방문한 경우 방문한 카드 개수를 배열에 저장한다 그 후 내림차순 정렬해서 최댓값 2개의 곱을 반환하면 된다 내가 헷갈렸던 부분은 DFS를 적용해서 몇 개의 노드를 방문.. 2022. 11. 2.
[연습문제] 야근 지수 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/12927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 흠 이 문제는 PriorityQueue의 효율성을 느낄 수 있었던 문제다ㅋㅋㅋㅋㅋ 이게 알고리즘 자체는 크게 어렵지 않은데, 효율성 통과가 관건이었던 것 같다 (물론 나는 정확성 테스트도 난리나긴 했다..^^) 암튼 우선순위 큐를 사용하라는 말을 듣고 고대로 풀어봤는데 쉽게 풀렸다! 조심할 것은 우선순위 큐를 역순으로 정렬하도록 선언해야 한다는거? 네... 제가 안했습니다..^^ 그리고 반복문을 .. 2022. 11. 2.
[연습문제] 최고의 집합 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/12938 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 엄청 어렵지는 않았는데 포인트를 잡는 것이 관건이었다 전체 가능한 경우의 수를 구하는 것이 아닌, 최고의 집합을 찾는 규칙을 발견하는게 중요하였다!! 최고의 집합 조건은 주어진 원소의 개수만큼 주어진 합을 만족하고, 각 원소의 곱이 최댓값인 경우이다 즉, 최대 곱이 나오는 경우를 고민하는 것이 중요하다! 만약 n=3, s=6이면, 최고의 집합은 [2,2,2]가 된다 즉, s를 n으로 나.. 2022. 11. 1.
728x90