본문 바로가기

Algorithm269

[JAVA] 프로그래머스 LEVEL3 퍼즐 조각 채우기 https://school.programmers.co.kr/learn/courses/30/lessons/84021 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코딩테스트 연습 > 깊이/너비 우선 탐색(DFS/BFS) > 퍼즐 조각 채우기 난이도: LEVEL3알고리즘 유형: BFS + 구현(배열 회전)  풀이 설명 문제의 조건조각을 회전시킬 수 있다. 조각을 뒤집을 수는 없다. (그나마 다행) ...  회전은 조각이 4가지 경우로 분리 하지만 회전까지 가능하면 회전 + 뒤집기 같이 경우의 수가 엄청 늘어난다.  1. game_board BFS  game_boa.. 2024. 10. 5.
[JAVA] 프로그래머스 LEVEL3 길 찾기 게임 https://school.programmers.co.kr/learn/courses/30/lessons/42892 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코딩테스트 연습 > 2019 KAKAO BLIND RECRUITMENT > 길 찾기 게임 난이도: LEVEL3알고리즘 유형: 이진 트리 구현 + 여러가지 순회 방법  핵심 부분 문제에서는 친절하게도 큰 힌트를 준다. 1. 해당 트리는 이진 트리 2. 임의의 노드 V의 왼쪽 서브 트리(left subtree)에 있는 모든 노드의 x값은 V의 x값보다 작다. 3. 임의의 노드 V의 오른쪽 서브 트리(rig.. 2024. 10. 2.
[JAVA] 프로그래머스 LEVEL3 금과 은 운반하기 https://school.programmers.co.kr/learn/courses/30/lessons/86053 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코딩테스트 연습 > 월간 코드 챌린지 시즌3 > 금과 은 운반하기  난이도: LEVEL3알고리즘 유형: 이분탐색(매개변수 탐색) 핵심 부분  디테일한 end 설정하기  아무 생각 없이 end를 Long.MAX_VALUE 최댓값으로 설정하고 돌렸는데5~7개 케이스가 틀렸다.  로직을 보면 충분히 Long.MAX_VALUE를 넘어서는 케이스가 나온다.// a + b 최댓값: 10^9 * 2 // 1번 왕.. 2024. 10. 2.
[JAVA] 프로그래머스 LEVEL3 양과 늑대 https://school.programmers.co.kr/learn/courses/30/lessons/92343 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코딩테스트 연습 > 2022 KAKAO BLIND RECRUITMENT > 양과 늑대  난이도: LEVEL3알고리즘 유형: 이진트리 / 완전탐색  문제의 핵심 해당 문제는 단순한 DFS / BFS 통해서 이진 트리를 탐색하면 정답을 못 찾는 문제이다. 그 이유를 설명하겠다. 프로그래머스에서 제공한 첫 번째 입출력 (정답은 5)  정답 5인 이진 트리 탐색 경로 양:5 늑대:3 정답은 5  단순한 BFS.. 2024. 10. 1.
[JAVA] 프로그래머스 LEVEL2 우박수열 정적분 https://school.programmers.co.kr/learn/courses/30/lessons/134239 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코딩테스트 연습 > 연습문제 > 우박수열 정적분  난이도: LEVEL2알고리즘 유형: 구현문제의 핵심  각 구간의 넓이 구하기 항상 및변의 길이는 1 고정  사각형 넓이: 1 * 이전 수열 높이 삼각형 넓이: 1 * (이번 수열 높이 - 이전 수열 높이) / 2  이번 구간의 넓이: 삼각형 넓이 + 사각형 넓이 정답 코드 구간이 많아질 수도 있어서 매 구간 마다 for문으로 합을 구하면 시간 초과가 .. 2024. 9. 30.
[JAVA] 프로그래머스 LEVEL3 합승 택시 요금 https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코딩테스트 연습 > 2021 KAKAO BLIND RECRUITMENT > 합승 택시 요금 난이도: LEVEL3알고리즘 유형: 그래프 탐색 (다익스트라 / 플로이드) 정답 코드1(플로이드)플로이드 마샬 알고리즘을 활용했다.문제를 읽어보면 정점의 개수가 최대 200인데 플로이드 마샬 알고리즘의 경우 시간 복잡도를 정점의 개수를 통해서 간편하게 구할 수 있다.O(200^3) = 8000000 충분히 통과 .. 2024. 9. 29.