본문 바로가기

Algorithm/Programmers Java148

[JAVA] 프로그래머스 LEVEL2 택배상자 https://school.programmers.co.kr/learn/courses/30/lessons/131704 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코딩테스트 연습 > 연습문제 > 택배상자 난이도: LEVEL2 정답 코드import java.util.*;import java.util.stream.*;class Solution { public int solution(int[] order) { int answer = 0; Stack stack = new Stack(); int cur = 1; // 어차.. 2024. 9. 28.
[JAVA] 프로그래머스 LEVEL2 테이블 해시 함수 https://school.programmers.co.kr/learn/courses/30/lessons/147354 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코딩테스트 연습 > 연습문제 > 테이블 해시 함수 난이도: LEVEL2문제 설명 문제를 읽어보고 문제에서 요구하는 그대로를 구현하는 간단한 문제이다.  정답코드1 방식으로 푸는데 필요한 지식 3가지  1. XOR 연산: 배타적 논리합 두 비트가 서로 다르면 1(참) 같으면 0(거짓)1 0 0 1 0 1 0 11 1 0 0  2. 10진수 → 2진수, 2진수 →  10진수  (진법 변환)  3. 정렬 .. 2024. 9. 28.
[JAVA] 프로그래머스 LEVEL3 표 병합 https://school.programmers.co.kr/learn/courses/30/lessons/150366 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코딩테스트 연습 > 2023 KAKAO BLIND RECRUITMENT > 표 병합 난이도: LEVEL3 풀이 설명union - find 알고리즘을 사용해서 해당 문제를 풀었다. 나는 union - find 알고리즘을 MST - 최소 신장 트리 문제를 풀 때 접했어서 알고 있었다.참고: MST 문제 해결 방법중 크루스칼 알고리즘에 union-find 알고리즘이 사용된다. UNION - FINDpubl.. 2024. 9. 27.
[JAVA] 프로그래머스 LEVEL3 인사고과 https://school.programmers.co.kr/learn/courses/30/lessons/152995 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코딩테스트 연습 > 연습문제 > 인사고과 난이도: LEVEL3 문제 분석단순히 이중 for문으로 제외할 사원을 찾으면 시간 초과가 발생한다. 이유scores.length 최대 100000  10만 * 10만의 시간 복잡도를 가진다.  정답 코드1import java.util.*;class Solution { public int solution(int[][] scores) { int .. 2024. 9. 26.
[JAVA] 프로그래머스 LEVEL3 미로 탈출 명령어 https://school.programmers.co.kr/learn/courses/30/lessons/150365 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코딩테스트 연습 > 2023 KAKAO BLIND RECRUITMENT > 미로 탈출 명령어 문제 분석난이도: LEVEL3문제 설명 문제의 핵심은 명렁어가 사전 순으로 가장 빠른 경로로 탈출해야 한다.  미로를 탈출할 수 없는 경우 "impossible"을 return 명렁어는 총 4개 l: 왼쪽으로 한 칸 이동 r: 오른쪽으로 한 칸 이동 u: 위쪽으로 한 칸 이동 d: 아래쪽으로 한 칸 이동 사전.. 2024. 9. 25.
[JAVA] 프로그래머스 LEVEL3 [PCCP 기출문제] 4번 / 수레 움직이기 https://school.programmers.co.kr/learn/courses/30/lessons/250134 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코딩테스트 연습 > PCCP 기출문제 > [PCCP 기출문제] 4번 / 수레 움직이기문제 분석난이도: LEVEL3문제 설명 제한사항을 보면 maze 크기가 1 ~ 4 매우 작다.최대 크기가 4 * 4 = 16 2차원 배열이다. 보자마자 백트래킹(완전탐색) 문제 얌이 ㅎㅎ..  개인적으로 DP/그리디 문제보다 백트래킹 문제는 주어진 조건을 잘 읽고 재귀 함수만 잘 구현하면 시간 복잡도 측면은 많이 고려.. 2024. 9. 24.