본문 바로가기

Programmers/프로그래머스

(60)
[프로그래머스][JAVA] 124 나라의 숫자 [문제] 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. [풀이방법] 3진법 변환에서 1,2,4 로 숫자를 구성하는 방식으로 풀이한다. level3 풀다가 푸니까 문제 자체가 간단하다. 레벨 간 차이가 조금 큰 것 같다... 주의할 점은 문자열 배열 [1,2,4] 를 역순으로 잡아줘야 한다. [4,2,1] class Solution ..
[프로그래머스][JAVA] 네트워크 [문제] https://programmers.co.kr/learn/courses/30/lessons/43162 알고리즘 연습 - 네트워크 | 프로그래머스 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크 programmers.co.kr [풀이방법] 프로그래머스에는 DFS 탐색 문제가 많은 것 같다. D..
[프로그래머스][JAVA] N으로 표현 [문제] https://programmers.co.kr/learn/courses/30/lessons/42895 알고리즘 연습 - N으로 표현 | 프로그래머스 programmers.co.kr [풀이방법] 이 문제가 DP로 되어있던데 DP로는 어떻게 푸는 지 모르겠네요.. 저는 DFS로 사칙연산을 하고 그 값과 number를 비교해서 같은 경우에 최소값을 비교해줬습니다. 문제에서 잘 못 본 부분이 최솟값이 8보다 크면 -1을 return 합니다. 여기에서 8보다 클 때 answer를 -1로 만들고 리턴합니다. (저는 여기서 같아질 때 -1로 해서 답이 이상하게 나왔습니다.) 다른 문제와는 다르게 answer의 초기값을 -1로 했습니다. 원래는 최소값이 나올 때 초기값으로 정수의 최대값을 주었는데 그렇게 하니..
[프로그래머스][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 [풀이방법] 테스트 케이스는 통과하는데 채점에서 런타임 에러가 났다. 재귀를 사용하면 안되는 것 같다. 아마 stackoverflow 에러가 발생하는 것 같다. 찾아보니까 런타임 에러가 흔히 발생하는 문제인 것 같다. 어떤 분이 최대로 주어진 값들을 넣어봤더니 스택에 함수 호출이 쌓여서 런타임 에러가 발생하는 거라고 말씀하셨다. 효율적으로 코..