본문 바로가기

풀이21

N으로 표현(프로그래머스, Java) 문제링크: https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 | 프로그래머스 programmers.co.kr 알고리즘 설명: 모든 노드의 경우를 확인하여 가장 적은 count 수를 찾기 위해 DFS 탐색방법을 사용하였다. 재귀함수를 이용하여 DFS를 구현하였다. 재귀함수로 값을 찾다가 찾는 경우 return으로 돌아가기보다는 전역변수로 answer를 만들어 바로 값을 넣어주고 함수를 return하여 종료해버린다. 숫자 사용 개수가 8개가 넘는 경우 (사용 개수는 count로 체크) answer는 -1 재귀함수를 돌다가 값을 처음 찾은 경우에는 answer에 count 값을 넣어준다. 또 함수에서 값을 찾았지만 다른 재귀함.. 2019. 10. 8.
카카오 프렌즈 컬러링북(프로그래머스, Java) 문제링크: https://programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 | 프로그래머스 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 알고리즘 설명: 먼저 그림의 영역을 탐색하는 문제이므로 어떤 탐색방법을 선택할지 고민하였다. BFS와 DFS 방법중에 BFS가 주변탐색과 속도에서 더 용의하므로 BFS 탐색방법을 사용하였다. 문제에서 그림의 크기가 그렇게 크지않아서 큐 or 스택 둘중 아무거나 사용해도 될 것이라 판단하여 큐를 사용하였다. X 위치가 들어갈 큐, Y 위치가.. 2019. 10. 6.
Climbing the Leaderboard(해커랭크, Java) 문제링크: https://www.hackerrank.com/challenges/climbing-the-leaderboard/problem Climbing the Leaderboard | HackerRank Help Alice track her progress toward the top of the leaderboard! www.hackerrank.com 알고리즘 설명: scores의 랭크들을 rank배열을 만들어 scores값들의 랭크를 관리했고 그 뒤 alice를 받아 scores값들과 비교했고 alice의 값이 scores의 값보다 크면 scores의 rank값을 result 배열(결과값이 들어가는 배열)에 넣었다. 막혔던 지점: 단순히 2중 for문을 가지고 알고리즘을 짰더니 time limit에 .. 2019. 9. 30.